Merge pull request #309 from fedify-dev/dependabot/npm_and_yarn/doten… #217
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: release | |
| on: | |
| push: | |
| branches: | |
| - main | |
| - stable | |
| - "*.*-maintenance" | |
| tags: | |
| - "*.*.*" | |
| jobs: | |
| check: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: pnpm/action-setup@v4 | |
| with: | |
| version: 9.15.1+sha512.1acb565e6193efbebda772702950469150cf12bcc764262e7587e71d19dc98a423dff9536e57ea44c49bdf790ff694e83c27be5faa23d67e0c033b583be4bfcf | |
| run_install: false | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 23 | |
| cache: pnpm | |
| - run: pnpm install | |
| - run: pnpm run check:ci | |
| - if: github.ref_type == 'tag' | |
| run: | | |
| set -ex | |
| [[ "$(jq -r .version package.json)" = "$GITHUB_REF_NAME" ]] | |
| ! grep -i "to be released" CHANGES.md | |
| build-image: | |
| if: github.event_name == 'push' | |
| needs: [check] | |
| permissions: | |
| contents: read | |
| packages: write | |
| attestations: write | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: docker/setup-qemu-action@v3 | |
| - uses: docker/setup-buildx-action@v3 | |
| - uses: docker/login-action@v3 | |
| with: | |
| registry: ghcr.io | |
| username: ${{ github.actor }} | |
| password: ${{ github.token }} | |
| - uses: sergeysova/jq-action@v2 | |
| id: version | |
| with: | |
| cmd: "jq -r .version package.json" | |
| - if: github.ref_type == 'tag' | |
| run: '[[ "$VERSION" = "$GITHUB_REF_NAME" ]]' | |
| env: | |
| VERSION: ${{ steps.version.outputs.value }} | |
| - if: github.ref_type != 'tag' | |
| uses: docker/build-push-action@v5 | |
| with: | |
| push: true | |
| platforms: linux/amd64, linux/arm64 | |
| build-args: VERSION=${{ steps.version.outputs.value }}-dev.${{ github.run_number }} | |
| tags: | | |
| ghcr.io/${{ github.repository }}:git-${{ github.sha }} | |
| ghcr.io/${{ github.repository }}:${{ steps.version.outputs.value }}-dev.${{ github.run_number }} | |
| ghcr.io/${{ github.repository }}:canary | |
| labels: org.opencontainers.image.revision=${{ github.sha }} | |
| annotations: | | |
| org.opencontainers.image.title=Hollo | |
| org.opencontainers.image.description=Federated single-user microblogging software | |
| org.opencontainers.image.url=https://docs.hollo.social/ | |
| org.opencontainers.image.source=https://github.com/fedify-dev/hollo | |
| org.opencontainers.image.revision=${{ github.sha }} | |
| org.opencontainers.image.licenses=AGPL-3.0-or-later | |
| org.opencontainers.image.version=${{ steps.version.outputs.value }}-dev.${{ github.run_number }} | |
| cache-from: type=registry,ref=ghcr.io/${{ github.repository }}:build-cache | |
| cache-to: type=registry,ref=ghcr.io/${{ github.repository }}:build-cache,mode=max | |
| - if: github.ref_type == 'tag' | |
| uses: docker/build-push-action@v5 | |
| with: | |
| push: true | |
| platforms: linux/amd64, linux/arm64 | |
| build-args: VERSION=${{ steps.version.outputs.value }} | |
| tags: | | |
| ghcr.io/${{ github.repository }}:git-${{ github.sha }} | |
| ghcr.io/${{ github.repository }}:${{ steps.version.outputs.value }} | |
| ghcr.io/${{ github.repository }}:canary | |
| ghcr.io/${{ github.repository }}:latest | |
| labels: org.opencontainers.image.revision=${{ github.sha }} | |
| annotations: | | |
| org.opencontainers.image.title=Hollo | |
| org.opencontainers.image.description=Federated single-user microblogging software | |
| org.opencontainers.image.url=https://docs.hollo.social/ | |
| org.opencontainers.image.source=https://github.com/fedify-dev/hollo | |
| org.opencontainers.image.revision=${{ github.sha }} | |
| org.opencontainers.image.licenses=AGPL-3.0-or-later | |
| org.opencontainers.image.version=${{ steps.version.outputs.value }} | |
| cache-from: type=registry,ref=ghcr.io/${{ github.repository }}:build-cache | |
| cache-to: type=registry,ref=ghcr.io/${{ github.repository }}:build-cache,mode=max | |
| release: | |
| if: github.event_name == 'push' | |
| needs: [check] | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: write | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - id: extract-changelog | |
| uses: dahlia/submark@5a5ff0a58382fb812616a5801402f5aef00f90ce | |
| with: | |
| input-file: CHANGES.md | |
| heading-level: 2 | |
| heading-title-text: version ${{ github.ref_name }} | |
| ignore-case: true | |
| omit-heading: true | |
| - run: 'cat "$CHANGES_FILE"' | |
| env: | |
| CHANGES_FILE: ${{ steps.extract-changelog.outputs.output-file }} | |
| - if: github.event_name == 'push' && github.ref_type == 'tag' | |
| uses: softprops/action-gh-release@v1 | |
| with: | |
| body_path: ${{ steps.extract-changelog.outputs.output-file }} | |
| name: Hollo ${{ github.ref_name }} | |
| generate_release_notes: false | |
| publish-docs: | |
| if: | | |
| github.event_name == 'push' && | |
| (github.ref == 'refs/heads/main' || github.ref_type == 'tag') | |
| runs-on: ubuntu-latest | |
| permissions: | |
| id-token: write | |
| pages: write | |
| deployments: write | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: pnpm/action-setup@v4 | |
| with: | |
| version: 9.15.1+sha512.1acb565e6193efbebda772702950469150cf12bcc764262e7587e71d19dc98a423dff9536e57ea44c49bdf790ff694e83c27be5faa23d67e0c033b583be4bfcf | |
| run_install: false | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 23 | |
| cache: pnpm | |
| - run: | | |
| pnpm install | |
| pnpm run build | |
| env: | |
| PLAUSIBLE_DOMAIN: ${{ vars.PLAUSIBLE_DOMAIN }} | |
| working-directory: ${{ github.workspace }}/docs/ | |
| - uses: actions/upload-pages-artifact@v3 | |
| with: | |
| path: docs/dist | |
| - if: github.ref_type == 'branch' | |
| uses: nwtgck/[email protected] | |
| with: | |
| publish-dir: docs/dist | |
| production-branch: main | |
| github-token: ${{ github.token }} | |
| enable-pull-request-comment: false | |
| enable-commit-comment: false | |
| env: | |
| NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }} | |
| NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }} | |
| timeout-minutes: 2 | |
| - if: github.ref_type == 'tag' | |
| uses: actions/deploy-pages@v4 | |
| # cSpell: ignore buildx sergeysova |