From 9d2dc81cba32b1209315bbe98ef8b39d347130f5 Mon Sep 17 00:00:00 2001 From: aleidk Date: Mon, 17 Mar 2025 15:29:31 -0300 Subject: [PATCH] build: add actions workflow for release --- .forgejo/workflows/build-image.yaml | 75 +++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 .forgejo/workflows/build-image.yaml diff --git a/.forgejo/workflows/build-image.yaml b/.forgejo/workflows/build-image.yaml new file mode 100644 index 0000000..0b1b8b8 --- /dev/null +++ b/.forgejo/workflows/build-image.yaml @@ -0,0 +1,75 @@ +name: Publish image +on: + push: + branches: + - main + workflow_dispatch: + +jobs: + create-docker-images: + runs-on: host + steps: + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Login to Docker Hub + uses: docker/login-action@v3 + with: + registry: git.alecodes.page + username: ${{ vars.CONTAINER_REGISTRY_USER }} + password: ${{ secrets.CONTAINER_REGISTRY_TOKEN }} + + - name: Build and push + uses: docker/build-push-action@v6 + with: + platforms: linux/amd64 + push: true + outputs: | + type=local,dest=./build-out + type=docker + tags: | + git.alecodes.page/alecodes/compendium:latest + git.alecodes.page/alecodes/compendium:${{ github.sha }} + + - uses: actions/upload-artifact@v3 + with: + name: my-artifact + path: ./build-out/app + + deploy: + runs-on: ubuntu-latest + needs: + - create-docker-images + steps: + - uses: actions/download-artifact@v3 + - name: Display structure of downloaded files + run: ls -R + - name: Publish release + uses: https://code.forgejo.org/actions/forgejo-release@v2.5.0 + with: + url: "https://git.alecodes.page" + repo: "alecodes/compendium" + direction: upload + # tag: "${{ github.ref_name }}" + sha: "${{ github.sha }}" + release-dir: . + # token: ${{ secrets.TOKEN }} + override: ${{ vars.OVERRIDE || "false" }} + verbose: ${{ vars.VERBOSE || "false" }} + + # deploy: + # runs-on: ubuntu-latest + # needs: + # - create-docker-images + # steps: + # - name: Checkout code + # uses: actions/checkout@v4 + # - name: 'Docker Stack Deploy' + # uses: https://github.com/cssnr/stack-deploy-action@v1 + # with: + # host: ${{ vars.DOCKER_SWARM_HOST }} + # port: ${{ vars.DOCKER_SWARM_PORT }} + # user: ${{ secrets.DOCKER_SWARM_USER }} + # ssh_key: '${{ secrets.DOCKER_SWARM_SSH_KEY }}' + # file: 'docker-stack.yaml' + # name: 'personal_page'