diff --git a/.forgejo/workflows/pipeline.yml b/.forgejo/workflows/pipeline.yml index f05abc0..a1d0ff6 100644 --- a/.forgejo/workflows/pipeline.yml +++ b/.forgejo/workflows/pipeline.yml @@ -1,44 +1,98 @@ -name: CI/CD Pipeline +name: ci + on: push -env: - FORGEJO_BASE_URL: ${{ vars.FORGEJO_BASE_URL }} + jobs: - build-and-deploy: - runs-on: ubuntu-latest + build: + runs-on: ubuntu-22.04 + steps: - - name: Checkout Code - uses: actions/checkout@v3 - - - name: DEBUG VARS + - + name: Repository meta + id: repository run: | - env - echo "---" - echo "GITHUB_SERVER_URL: ${{ env.GITHUB_SERVER_URL }}" - echo "GITHUB_REPOSITORY_OWNER: ${{ secret.GITHUB_REPOSITORY_OWNER }}" - echo "GITHUB_REPOSITORY_OWNER: ${{ env.GITHUB_REPOSITORY_OWNER }}" - echo "GITHUB_REPOSITORY: ${{ env.GITHUB_REPOSITORY }}" - echo "GITHUB_SHA: ${{ github.sha }}" - echo "FORGEJO_BASE_URL: ${{ vars.FORGEJO_BASE_URL }}" - echo "GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}" - echo "GITHUB_TOKEN: ${{ env.GITHUB_TOKEN }}" - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - - - name: Login to Forgejo Registry + registry=${{ github.server_url }} + registry=${registry##http*://} + echo "registry=${registry}" >> "$GITHUB_OUTPUT" + echo "registry=${registry}" + repository="$(echo "${{ github.repository }}" | tr '[:upper:]' '[:lower:]')" + echo "repository=${repository}" >> "$GITHUB_OUTPUT" + echo "repository=${repository}" + - + name: Docker meta + uses: docker/metadata-action@v5 + id: docker + with: + images: ${{ steps.repository.outputs.registry }}/${{ steps.repository.outputs.repository }} + - + name: Login to registry uses: docker/login-action@v3 with: - registry: ${{ env.GITHUB_SERVER_URL }} - username: ${{ env.GITHUB_REPOSITORY_OWNER }} - password: ${{ secret.GITHUB_TOKEN }} - - - name: Build and Push Docker Image - uses: docker/build-push-action@v5 + registry: ${{ steps.repository.outputs.registry }} + username: ${{ secrets.PACKAGES_USER }} + password: ${{ secrets.PACKAGES_TOKEN }} + - + name: Set up QEMU + uses: docker/setup-qemu-action@v3 + - + name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + with: + buildkitd-flags: '--allow-insecure-entitlement network.host' + driver-opts: network=host + - + name: Build and push + uses: docker/build-push-action@v6 with: - context: . push: true - tags: ${{ env.GITHUB_SERVER_URL }}/${{ secret.GITHUB_REPOSITORY_OWNER }}/loic:${{ github.sha }} + allow: network.host + network: host + platforms: linux/amd64,linux/arm64 + tags: ${{ steps.docker.outputs.tags }} + + + +# name: CI/CD Pipeline +# on: push +# env: +# FORGEJO_BASE_URL: ${{ vars.FORGEJO_BASE_URL }} +# jobs: +# build-and-deploy: +# runs-on: ubuntu-latest +# steps: +# - name: Checkout Code +# uses: actions/checkout@v3 + +# - name: DEBUG VARS +# run: | +# env +# echo "---" +# echo "GITHUB_SERVER_URL: ${{ env.GITHUB_SERVER_URL }}" +# echo "GITHUB_REPOSITORY_OWNER: ${{ secret.GITHUB_REPOSITORY_OWNER }}" +# echo "GITHUB_REPOSITORY_OWNER: ${{ env.GITHUB_REPOSITORY_OWNER }}" +# echo "GITHUB_REPOSITORY: ${{ env.GITHUB_REPOSITORY }}" +# echo "GITHUB_SHA: ${{ github.sha }}" +# echo "FORGEJO_BASE_URL: ${{ vars.FORGEJO_BASE_URL }}" +# echo "GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}" +# echo "GITHUB_TOKEN: ${{ env.GITHUB_TOKEN }}" + +# - name: Set up Docker Buildx +# uses: docker/setup-buildx-action@v3 + + +# - name: Login to Forgejo Registry +# uses: docker/login-action@v3 +# with: +# registry: ${{ env.GITHUB_SERVER_URL }} +# username: ${{ env.GITHUB_REPOSITORY_OWNER }} +# password: ${{ secret.GITHUB_TOKEN }} + +# - name: Build and Push Docker Image +# uses: docker/build-push-action@v5 +# with: +# context: . +# push: true +# tags: ${{ env.GITHUB_SERVER_URL }}/${{ secret.GITHUB_REPOSITORY_OWNER }}/loic:${{ github.sha }} # - name: Set up Go # uses: actions/setup-go@v3