v3.3.1 #80
Workflow file for this run
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
| # yaml-language-server: $schema=https://json.schemastore.org/github-workflow.json | |
| # docs: https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions | |
| name: 🚀 Release | |
| on: | |
| release: # Docs: <https://git.io/JeBz1#release-event-release> | |
| types: [published] | |
| jobs: | |
| build: | |
| name: Build for ${{ matrix.os }} (${{ matrix.arch }}) | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [linux, darwin, windows] # freebsd | |
| arch: [amd64, arm64] # 386 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - {uses: actions/setup-go@v5, with: {go-version-file: go.mod}} | |
| - {uses: gacts/github-slug@v1, id: slug} | |
| - id: values | |
| run: echo "binary-name=error-pages-${{ matrix.os }}-${{ matrix.arch }}`[ ${{ matrix.os }} = 'windows' ] && echo '.exe'`" >> $GITHUB_OUTPUT | |
| - env: | |
| GOOS: ${{ matrix.os }} | |
| GOARCH: ${{ matrix.arch }} | |
| CGO_ENABLED: 0 | |
| LDFLAGS: -s -w -X gh.tarampamp.am/error-pages/internal/version.version=${{ steps.slug.outputs.version }} | |
| run: go build -trimpath -ldflags "$LDFLAGS" -o "./${{ steps.values.outputs.binary-name }}" ./cmd/error-pages/ | |
| - uses: svenstaro/upload-release-action@v2 | |
| with: | |
| repo_token: ${{ secrets.GITHUB_TOKEN }} | |
| file: ${{ steps.values.outputs.binary-name }} | |
| asset_name: ${{ steps.values.outputs.binary-name }} | |
| tag: ${{ github.ref }} | |
| - if: matrix.os == 'linux' && matrix.arch == 'amd64' | |
| run: mkdir ./out && ./${{ steps.values.outputs.binary-name }} build --index --disable-minification --target-dir ./out | |
| - if: matrix.os == 'linux' && matrix.arch == 'amd64' | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: error-pages-static | |
| path: out/ | |
| if-no-files-found: error | |
| retention-days: 1 | |
| - if: matrix.os == 'linux' && matrix.arch == 'amd64' | |
| working-directory: ./out | |
| run: zip -r ./../templates.zip . | |
| - if: matrix.os == 'linux' && matrix.arch == 'amd64' | |
| uses: svenstaro/upload-release-action@v2 | |
| with: | |
| repo_token: ${{ secrets.GITHUB_TOKEN }} | |
| file: templates.zip | |
| asset_name: error-pages-static.zip | |
| tag: ${{ github.ref }} | |
| demo: | |
| name: Update the demo (GitHub Pages) | |
| runs-on: ubuntu-latest | |
| needs: [build] | |
| steps: | |
| - uses: actions/download-artifact@v4 | |
| with: | |
| name: error-pages-static | |
| path: .artifact | |
| - uses: peaceiris/actions-gh-pages@v4 | |
| with: | |
| github_token: ${{ secrets.GITHUB_TOKEN }} | |
| publish_dir: ./.artifact | |
| docker-image: | |
| name: Build the docker image | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - {uses: gacts/github-slug@v1, id: slug} | |
| - uses: docker/setup-qemu-action@v3 | |
| - uses: docker/setup-buildx-action@v3 | |
| - uses: docker/login-action@v3 | |
| with: | |
| username: ${{ secrets.DOCKER_LOGIN }} | |
| password: ${{ secrets.DOCKER_PASSWORD }} | |
| - uses: docker/login-action@v3 | |
| with: | |
| registry: ghcr.io | |
| username: ${{ github.actor }} | |
| password: ${{ secrets.GITHUB_TOKEN }} | |
| - uses: docker/build-push-action@v6 | |
| with: | |
| context: . | |
| file: Dockerfile | |
| push: true | |
| platforms: linux/amd64,linux/arm/v7,linux/arm64/v8 | |
| build-args: "APP_VERSION=${{ steps.slug.outputs.version }}" | |
| tags: | | |
| tarampampam/error-pages:latest | |
| tarampampam/error-pages:${{ steps.slug.outputs.version }} | |
| tarampampam/error-pages:${{ steps.slug.outputs.version-major }}.${{ steps.slug.outputs.version-minor }} | |
| tarampampam/error-pages:${{ steps.slug.outputs.version-major }} | |
| ghcr.io/${{ github.actor }}/${{ github.event.repository.name }}:latest | |
| ghcr.io/${{ github.actor }}/${{ github.event.repository.name }}:${{ steps.slug.outputs.version }} | |
| ghcr.io/${{ github.actor }}/${{ github.event.repository.name }}:${{ steps.slug.outputs.version-major }}.${{ steps.slug.outputs.version-minor }} | |
| ghcr.io/${{ github.actor }}/${{ github.event.repository.name }}:${{ steps.slug.outputs.version-major }} |