ci: download goreleaser binary #34
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
| name: Pro Self-Hosted Release | |
| 'on': | |
| push: | |
| tags: | |
| - 'v[0-9]+.[0-9]+.[0-9]+' | |
| - v*-beta* | |
| - v*-rc* | |
| jobs: | |
| release: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout source | |
| uses: actions/checkout@v4 | |
| - name: Setup golang | |
| uses: actions/setup-go@v5 | |
| with: | |
| go-version: '^1.24.6' | |
| - name: Setup nodejs | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: '16' | |
| cache: 'npm' | |
| cache-dependency-path: web/package-lock.json | |
| - name: Install go-task | |
| run: | | |
| go install github.com/go-task/task/v3/cmd/task@latest | |
| - name: Install rpm | |
| run: | | |
| sudo apt update && sudo apt-get install rpm | |
| - name: Add PRO implementation | |
| run: | | |
| git clone -b 2-16-stable https://${{ secrets.GH_TOKEN }}@github.com/semaphoreui/semaphorepro-module.git pro_impl | |
| go work init . ./pro_impl | |
| - name: Install deps | |
| run: | | |
| task deps APP_BUILD_TYPE=pro_selfhosted | |
| - name: Import gnupg | |
| run: | | |
| echo "${{ secrets.GPG_KEY }}" | tr " " "\n" | base64 -d | gpg --import --batch | |
| gpg --sign -u "${{ vars.GPG_KEY_ID }}" --pinentry-mode loopback --yes --batch --passphrase "${{ secrets.GPG_PASS }}" --output unlock.sig --detach-sign README.md | |
| rm -f unlock.sig | |
| - name: Reset repo | |
| run: | | |
| git reset --hard | |
| - name: Run release | |
| run: | | |
| APP_BUILD_TYPE=pro_selfhosted \ | |
| GITHUB_TOKEN=${{ secrets.GH_TOKEN }} \ | |
| GPG_KEY_ID="${{ vars.GPG_KEY_ID }}" \ | |
| PROJECT_NAME=semaphorepro \ | |
| task release:prod | |
| deploy-prod: | |
| runs-on: ubuntu-latest | |
| if: github.repository_owner == 'semaphoreui' | |
| steps: | |
| - name: Checkout source | |
| uses: actions/checkout@v4 | |
| - name: Setup qemu | |
| id: qemu | |
| uses: docker/setup-qemu-action@v3 | |
| - name: Setup buildx | |
| id: buildx | |
| uses: docker/setup-buildx-action@v3 | |
| - name: Hub login | |
| uses: docker/login-action@v3 | |
| if: github.event_name != 'pull_request' | |
| with: | |
| registry: public.ecr.aws | |
| username: ${{ vars.AWS_ACCESS_KEY_ID }} | |
| password: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
| env: | |
| AWS_REGION: us-east-1 | |
| - name: Server meta | |
| id: server | |
| uses: docker/metadata-action@v5 | |
| with: | |
| github-token: ${{ secrets.GITHUB_TOKEN }} | |
| images: | | |
| public.ecr.aws/semaphore/pro/server | |
| labels: | | |
| org.opencontainers.image.vendor=SemaphoreUI | |
| maintainer=Semaphore UI <[email protected]> | |
| tags: | | |
| type=raw,value=${{ github.ref_name }} | |
| flavor: | | |
| latest=true | |
| - name: Server build | |
| uses: docker/build-push-action@v5 | |
| with: | |
| builder: ${{ steps.buildx.outputs.name }} | |
| context: . | |
| build-args: | | |
| GH_TOKEN=${{ secrets.GH_TOKEN }} | |
| APP_BUILD_TYPE=pro_selfhosted | |
| PRO_IMPL_BRANCH=2-16-stable | |
| file: deployment/docker/server/Dockerfile | |
| platforms: linux/amd64,linux/arm64 # ,linux/arm/v6 | |
| push: ${{ github.event_name != 'pull_request' }} | |
| labels: ${{ steps.server.outputs.labels }} | |
| tags: ${{ steps.server.outputs.tags }} | |
| - name: Server build with Ansible 2.16.5 | |
| uses: docker/build-push-action@v5 | |
| with: | |
| builder: ${{ steps.buildx.outputs.name }} | |
| context: . | |
| build-args: | | |
| ANSIBLE_VERSION=9.4.0 | |
| GH_TOKEN=${{ secrets.GH_TOKEN }} | |
| APP_BUILD_TYPE=pro_selfhosted | |
| PRO_IMPL_BRANCH=2-16-stable | |
| file: deployment/docker/server/Dockerfile | |
| platforms: linux/amd64,linux/arm64 # ,linux/arm/v6 | |
| push: ${{ github.event_name != 'pull_request' }} | |
| labels: ${{ steps.server.outputs.labels }} | |
| tags: public.ecr.aws/semaphore/pro/server:${{ github.ref_name }}-ansible2.16.5 | |
| - name: Server build with PowerShell 7.5.0 | |
| uses: docker/build-push-action@v5 | |
| with: | |
| builder: ${{ steps.buildx.outputs.name }} | |
| context: . | |
| build-args: | | |
| POWERSHELL_VERSION=7.5.0 | |
| SEMAPHORE_IMAGE=public.ecr.aws/semaphore/pro/server | |
| SEMAPHORE_VERSION=${{ github.ref_name }} | |
| GH_TOKEN=${{ secrets.GH_TOKEN }} | |
| APP_BUILD_TYPE=pro_selfhosted | |
| PRO_IMPL_BRANCH=2-16-stable | |
| file: deployment/docker/server/powershell/Dockerfile | |
| platforms: linux/amd64 | |
| push: ${{ github.event_name != 'pull_request' }} | |
| labels: ${{ steps.server.outputs.labels }} | |
| tags: public.ecr.aws/semaphore/pro/server:${{ github.ref_name }}-powershell7.5.0 | |
| - name: Runner meta | |
| id: runner | |
| uses: docker/metadata-action@v5 | |
| with: | |
| github-token: ${{ secrets.GITHUB_TOKEN }} | |
| images: | | |
| public.ecr.aws/semaphore/pro/runner | |
| labels: | | |
| org.opencontainers.image.vendor=SemaphoreUI | |
| maintainer=Semaphore UI <[email protected]> | |
| tags: | | |
| type=raw,value=${{ github.ref_name }} | |
| flavor: | | |
| latest=true | |
| - name: Runner build | |
| uses: docker/build-push-action@v5 | |
| with: | |
| builder: ${{ steps.buildx.outputs.name }} | |
| context: . | |
| build-args: | | |
| GH_TOKEN=${{ secrets.GH_TOKEN }} | |
| APP_BUILD_TYPE=pro_selfhosted | |
| PRO_IMPL_BRANCH=2-16-stable | |
| file: deployment/docker/runner/Dockerfile | |
| platforms: linux/amd64,linux/arm64 #,linux/arm/v6 | |
| push: ${{ github.event_name != 'pull_request' }} | |
| labels: ${{ steps.runner.outputs.labels }} | |
| tags: ${{ steps.runner.outputs.tags }} | |
| - name: Runner build with Ansible 2.16.5 | |
| uses: docker/build-push-action@v5 | |
| with: | |
| builder: ${{ steps.buildx.outputs.name }} | |
| context: . | |
| build-args: | | |
| ANSIBLE_VERSION=9.4.0 | |
| GH_TOKEN=${{ secrets.GH_TOKEN }} | |
| APP_BUILD_TYPE=pro_selfhosted | |
| PRO_IMPL_BRANCH=2-16-stable | |
| file: deployment/docker/runner/Dockerfile | |
| platforms: linux/amd64,linux/arm64 #,linux/arm/v6 | |
| push: ${{ github.event_name != 'pull_request' }} | |
| labels: ${{ steps.runner.outputs.labels }} | |
| tags: public.ecr.aws/semaphore/pro/runner:${{ github.ref_name }}-ansible2.16.5 | |
| - name: Runner build with PowerShell 7.5.0 | |
| uses: docker/build-push-action@v5 | |
| with: | |
| builder: ${{ steps.buildx.outputs.name }} | |
| context: . | |
| build-args: | | |
| POWERSHELL_VERSION=7.5.0 | |
| SEMAPHORE_IMAGE=public.ecr.aws/semaphore/pro/runner | |
| SEMAPHORE_VERSION=${{ github.ref_name }} | |
| GH_TOKEN=${{ secrets.GH_TOKEN }} | |
| file: deployment/docker/server/powershell/Dockerfile | |
| platforms: linux/amd64 | |
| push: ${{ github.event_name != 'pull_request' }} | |
| labels: ${{ steps.runner.outputs.labels }} | |
| tags: public.ecr.aws/semaphore/pro/runner:${{ github.ref_name }}-powershell7.5.0 |