diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index b345a2a..ac62ed8 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -12,9 +12,41 @@ env: jobs: + cross-compile: + runs-on: ubuntu-latest + steps: + - name: Check out the repo + uses: actions/checkout@v3 + - name: Setup Go + uses: actions/setup-go@v3 + with: + go-version: "1.21" + - name: Cache Go + id: go-cache + uses: actions/cache@v3 + with: + path: | + ~/go/bin + ~/go/pkg/mod + key: go-cache-${{ runner.os }}-${{ hashFiles('**/go.sum') }} + - name: Install promu + run: make promu + shell: bash + - name: Build + run: ~/go/bin/promu -c .promu.yml crossbuild -v -p linux/amd64 -p linux/arm64 -p darwin/amd64 -p darwin/arm64 + - name: Upload Binaries + uses: actions/upload-artifact@v4 + with: + name: binaries + path: .build/* + include-hidden-files: true + + push_to_registries: - name: Push Docker image to multiple registries + name: Push Docker image runs-on: ubuntu-latest + needs: [cross-compile] + permissions: attestations: write packages: write @@ -32,6 +64,14 @@ jobs: - name: Set up Docker Buildx uses: docker/setup-buildx-action@v2 + - name: Download Binaries + uses: actions/download-artifact@v4 + with: + name: binaries + path: .build/ + include-hidden-files: true + + - run: chmod +x .build/**/* - name: Log in to the Container registry uses: docker/login-action@v3