diff options
Diffstat (limited to '.github/workflows/docker.yaml')
| -rw-r--r-- | .github/workflows/docker.yaml | 103 |
1 files changed, 9 insertions, 94 deletions
diff --git a/.github/workflows/docker.yaml b/.github/workflows/docker.yaml index e7b3da6a..68a1ad5c 100644 --- a/.github/workflows/docker.yaml +++ b/.github/workflows/docker.yaml @@ -5,72 +5,23 @@ on: branches: [main] jobs: - publish_x86: + publish: concurrency: - group: ${{ github.ref }}-x86 + group: ${{ github.ref }}-docker cancel-in-progress: true permissions: packages: write - runs-on: ubuntu-latest + runs-on: depot-ubuntu-24.04 steps: - uses: actions/checkout@v6 - with: - repository: atuinsh/atuin - path: "./" - name: Get Repo Owner id: get_repo_owner run: echo "REPO_OWNER=$(echo ${{ github.repository_owner }} | tr '[:upper:]' '[:lower:]')" > $GITHUB_ENV - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - name: Login to container Registry - uses: docker/login-action@v3 - with: - username: ${{ github.repository_owner }} - password: ${{ secrets.GITHUB_TOKEN }} - registry: ghcr.io - - - name: Get short sha - id: shortsha - run: echo "short_sha=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT - - - name: Release build - id: release_build - uses: docker/build-push-action@v6 - with: - outputs: "type=registry,push=true" - platforms: linux/amd64 - file: ./Dockerfile - context: . - provenance: false - build-args: | - Version=dev - GitCommit=${{ steps.shortsha.outputs.short_sha }} - tags: | - ghcr.io/${{ env.REPO_OWNER }}/atuin:${{ steps.shortsha.outputs.short_sha }}-amd64 - - publish_aarch64: - concurrency: - group: ${{ github.ref }}-aarch64 - cancel-in-progress: true - permissions: - packages: write - - runs-on: ubuntu-24.04-arm - steps: - - uses: actions/checkout@v6 - with: - repository: atuinsh/atuin - path: "./" - - - name: Get Repo Owner - id: get_repo_owner - run: echo "REPO_OWNER=$(echo ${{ github.repository_owner }} | tr '[:upper:]' '[:lower:]')" > $GITHUB_ENV + - uses: depot/setup-action@v1 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - name: Login to container Registry uses: docker/login-action@v3 with: @@ -82,12 +33,11 @@ jobs: id: shortsha run: echo "short_sha=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT - - name: Release build - id: release_build - uses: docker/build-push-action@v6 + - name: Build and push + uses: depot/build-push-action@v1 with: - outputs: "type=registry,push=true" - platforms: linux/arm64 + push: true + platforms: linux/amd64,linux/arm64 file: ./Dockerfile context: . provenance: false @@ -95,39 +45,4 @@ jobs: Version=dev GitCommit=${{ steps.shortsha.outputs.short_sha }} tags: | - ghcr.io/${{ env.REPO_OWNER }}/atuin:${{ steps.shortsha.outputs.short_sha }}-aarch64 - - publish_manifest: - runs-on: ubuntu-latest - needs: [publish_x86, publish_aarch64] - steps: - - uses: actions/checkout@v6 - with: - repository: atuinsh/atuin - path: "./" - - - name: Get Repo Owner - id: get_repo_owner - run: echo "REPO_OWNER=$(echo ${{ github.repository_owner }} | tr '[:upper:]' '[:lower:]')" > $GITHUB_ENV - - - name: Login to container Registry - uses: docker/login-action@v3 - with: - username: ${{ github.repository_owner }} - password: ${{ secrets.GITHUB_TOKEN }} - registry: ghcr.io - - - name: Get short sha - id: shortsha - run: echo "short_sha=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT - - - name: Create manifest - run: | - docker manifest create ghcr.io/${{ env.REPO_OWNER }}/atuin:${{ steps.shortsha.outputs.short_sha }} \ - --amend ghcr.io/${{ env.REPO_OWNER }}/atuin:${{ steps.shortsha.outputs.short_sha }}-amd64 \ - --amend ghcr.io/${{ env.REPO_OWNER }}/atuin:${{ steps.shortsha.outputs.short_sha }}-aarch64 - docker manifest annotate --arch amd64 --os linux ghcr.io/${{ env.REPO_OWNER }}/atuin:${{ steps.shortsha.outputs.short_sha }} ghcr.io/${{ env.REPO_OWNER }}/atuin:${{ steps.shortsha.outputs.short_sha }}-amd64 - docker manifest annotate --arch arm64 --os linux ghcr.io/${{ env.REPO_OWNER }}/atuin:${{ steps.shortsha.outputs.short_sha }} ghcr.io/${{ env.REPO_OWNER }}/atuin:${{ steps.shortsha.outputs.short_sha }}-aarch64 - docker manifest inspect ghcr.io/${{ env.REPO_OWNER }}/atuin:${{ steps.shortsha.outputs.short_sha }} - - docker manifest push ghcr.io/${{ env.REPO_OWNER }}/atuin:${{ steps.shortsha.outputs.short_sha }} + ghcr.io/${{ env.REPO_OWNER }}/atuin:${{ steps.shortsha.outputs.short_sha }} |
