| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125 |
- on:
- release:
- types: [released]
- name: Update binaries
- jobs:
- update-self-hosted-helm-registry:
- runs-on: ubuntu-latest
- steps:
- - name: Get tag name
- id: tag_name
- run: echo "tag=${GITHUB_TAG/refs\/tags\//}" >> $GITHUB_OUTPUT
- env:
- GITHUB_TAG: ${{ github.ref }}
- - name: Run workflow
- run: gh workflow run release.yaml --repo porter-dev/porter-self-hosted -f version=${{steps.tag_name.outputs.tag}}
- env:
- GITHUB_TOKEN: ${{ secrets.PORTER_DEV_GITHUB_TOKEN }}
- update-public-repo:
- runs-on: ubuntu-latest
- steps:
- - name: Get tag name
- id: tag_name
- run: echo "tag=${GITHUB_TAG/refs\/tags\//}" >> $GITHUB_OUTPUT
- env:
- GITHUB_TAG: ${{ github.ref }}
- - name: Create release in public repo
- run: |
- gh release create ${{steps.tag_name.outputs.tag}} *_${{steps.tag_name.outputs.tag}}*.zip --repo porter-dev/porter-archive
- env:
- GITHUB_TOKEN: ${{ secrets.PORTER_DEV_GITHUB_TOKEN }}
- push-docker-server-latest:
- runs-on: ubuntu-latest
- steps:
- - name: Get tag name
- id: tag_name
- run: echo "tag=${GITHUB_TAG/refs\/tags\//}" >> $GITHUB_OUTPUT
- env:
- GITHUB_TAG: ${{ github.ref }}
- - name: Setup docker
- uses: docker/login-action@v2
- with:
- username: ${{ secrets.DOCKERHUB_USERNAME }}
- password: ${{ secrets.DOCKERHUB_TOKEN }}
- - name: Pull versioned server image and push to latest
- run: |
- docker pull porter1/porter:${{steps.tag_name.outputs.tag}}
- docker tag porter1/porter:${{steps.tag_name.outputs.tag}} porter1/porter:latest
- docker push porter1/porter:latest
- push-docker-cli-latest:
- name: Build a new porter-cli docker image
- runs-on: ubuntu-latest
- steps:
- - name: Get tag name
- id: tag_name
- run: echo "tag=${GITHUB_TAG/refs\/tags\//}" >> $GITHUB_OUTPUT
- env:
- GITHUB_TAG: ${{ github.ref }}
- - name: Configure AWS credentials
- uses: aws-actions/configure-aws-credentials@v1-node16
- with:
- aws-access-key-id: ${{ secrets.ECR_AWS_ACCESS_KEY_ID }}
- aws-secret-access-key: ${{ secrets.ECR_AWS_SECRET_ACCESS_KEY }}
- aws-region: us-east-2
- - name: Login to ECR public
- id: login-ecr
- run: |
- aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin public.ecr.aws/o1j4x7p4
- - name: Login to GHCR
- id: login-ghcr
- run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin
- - name: Pull versioned CLI image and push to latest
- run: |
- docker pull public.ecr.aws/o1j4x7p4/porter-cli:${{steps.tag_name.outputs.tag}}
- docker tag public.ecr.aws/o1j4x7p4/porter-cli:${{steps.tag_name.outputs.tag}} public.ecr.aws/o1j4x7p4/porter-cli:latest
- docker push public.ecr.aws/o1j4x7p4/porter-cli:latest
- docker pull ghcr.io/porter-dev/porter/porter-cli:${{steps.tag_name.outputs.tag}}
- docker tag ghcr.io/porter-dev/porter/porter-cli:${{steps.tag_name.outputs.tag}} ghcr.io/porter-dev/porter/porter-cli:latest
- docker push ghcr.io/porter-dev/porter/porter-cli:latest
- update-homebrew-repo:
- name: Update the Homebrew repo with the new CLI version
- runs-on: ubuntu-latest
- steps:
- - name: Get tag name
- id: tag_name
- run: echo "tag=${GITHUB_TAG/refs\/tags\//}" >> $GITHUB_OUTPUT
- env:
- GITHUB_TAG: ${{ github.ref }}
- - name: Create and commit porter.rb file
- run: |
- version=${{steps.tag_name.outputs.tag}}
- name=porter_${{steps.tag_name.outputs.tag}}_Darwin_x86_64.zip
- curl -L https://github.com/porter-dev/porter-archive/releases/download/${version}/porter_${version}_Darwin_x86_64.zip --output $name
- sha=$(cat porter_${{steps.tag_name.outputs.tag}}_Darwin_x86_64.zip | openssl sha256 | sed 's/(stdin)= //g')
- sha=${sha#"SHA256"}
- cat >porter.rb <<EOL
- class Porter < Formula
- homepage "https://porter.run"
- version "${{steps.tag_name.outputs.tag}}"
- on_macos do
- url "https://github.com/porter-dev/porter-archive/releases/download/${{steps.tag_name.outputs.tag}}/porter_${{steps.tag_name.outputs.tag}}_Darwin_x86_64.zip"
- sha256 "$sha"
- def install
- bin.install "porter"
- end
- end
- end
- EOL
- - name: Add and commit porter.rb file
- run: |
- git clone https://portersupport:${{ secrets.HOMEBREW_GITHUB_TOKEN }}@github.com/porter-dev/homebrew-porter
- cd homebrew-porter
- git config user.name "Update Bot"
- git config user.email "support@porter.run"
- mv ../porter.rb ./Formula/porter.rb
- git add Formula
- git commit -m "Update to version ${{steps.tag_name.outputs.tag}}"
- git push origin main
|