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@v4 with: name: my-artifact path: ./build-out deploy: runs-on: ubuntu-latest needs: - create-docker-images steps: - uses: actions/download-artifact@v4 - 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'