diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml new file mode 100644 index 0000000..f38970a --- /dev/null +++ b/.gitea/workflows/build.yml @@ -0,0 +1,64 @@ +name: release-tag + +on: + release: + types: [released] + push: + branches: + - main + +jobs: + release-image: + runs-on: ubuntu-latest + + env: + DOCKER_ORG: heronfief + DOCKER_LATEST: nightly + ENDPOINT: git.legonzaur.fr + + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + lfs: false + persist-credentials: false + + - name: Get Meta + id: meta + run: | + echo REPO_NAME=$(echo ${GITHUB_REPOSITORY} | awk -F"/" '{print $2}') >> $GITHUB_OUTPUT + echo REPO_VERSION=$(git describe --tags --always | sed 's/^v//') >> $GITHUB_OUTPUT + + - name: setup private key + shell: bash + run: | + echo "${{ secrets.RUNNER_SSH_PRIVATE_KEY }}" > ~/.ssh/id_ed25519 + chmod 400 ~/.ssh/id_ed25519 + echo "{{ secrets.INSTANCE_SSH_PUBLIC_KEY }} > ~/.ssh/known_hosts" + + - name: git lfs pull + shell: bash + run: | + ssh-keyscan ${{ env.ENDPOINT }} >> ~/.ssh/known_hosts + git remote set-url origin git@${{ env.ENDPOINT }}:${{ env.DOCKER_ORG }}/${{ steps.meta.outputs.REPO_NAME }}.git + git lfs pull + + - name: Login to DockerHub + uses: docker/login-action@v2 + with: + registry: ${{ env.ENDPOINT }} + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + + - name: Build and push + uses: docker/build-push-action@v4 + with: + context: . + file: ./Dockerfile + secrets: | + "NUXT_PUBLIC_WEBSOCKET_ENDPOINT=${{ secrets.NUXT_PUBLIC_WEBSOCKET_ENDPOINT }}" + "NUXT_PUBLIC_DISCORD_LOGIN_ENDPOINT=${{ secrets.NUXT_PUBLIC_DISCORD_LOGIN_ENDPOINT }}" + push: true + tags: | # replace it with your local IP and tags + ${{ env.ENDPOINT }}/${{ env.DOCKER_ORG }}/${{ steps.meta.outputs.REPO_NAME }}:${{ steps.meta.outputs.REPO_VERSION }} + ${{ env.ENDPOINT }}/${{ env.DOCKER_ORG }}/${{ steps.meta.outputs.REPO_NAME }}:${{ env.DOCKER_LATEST }}