diff --git a/.forgejo/workflows/build.yml b/.forgejo/workflows/build.yml new file mode 100644 index 0000000..1b21300 --- /dev/null +++ b/.forgejo/workflows/build.yml @@ -0,0 +1,41 @@ +name: Build Docker Image + +on: + push: + branches: [main, master] + +env: + REGISTRY: 192.168.1.100:3000 + IMAGE: root/daily-briefing + +jobs: + build: + runs-on: ubuntu-latest + container: + image: docker:latest + volumes: + - /var/run/docker.sock:/var/run/docker.sock + steps: + - uses: actions/checkout@v4 + + - name: Determine tag + id: vars + run: | + BRANCH="${GITHUB_REF_NAME}" + if [ "$BRANCH" = "main" ] || [ "$BRANCH" = "master" ]; then + TAG="nightly" + else + TAG=$(echo "$BRANCH" | sed 's/\//-/g') + fi + echo "tag=$TAG" >> "$GITHUB_OUTPUT" + + - name: Build and push + run: | + docker build \ + -t ${{ env.REGISTRY }}/${{ env.IMAGE }}:${{ steps.vars.outputs.tag }} \ + -t ${{ env.REGISTRY }}/${{ env.IMAGE }}:${{ github.sha }} \ + . + + echo "${{ secrets.REGISTRY_PASSWORD }}" | docker login ${{ env.REGISTRY }} -u root --password-stdin + docker push ${{ env.REGISTRY }}/${{ env.IMAGE }}:${{ steps.vars.outputs.tag }} + docker push ${{ env.REGISTRY }}/${{ env.IMAGE }}:${{ github.sha }}