diff --git a/.gitea/workflows/on_release.yml b/.gitea/workflows/on_release.yml new file mode 100644 index 0000000..882ae1b --- /dev/null +++ b/.gitea/workflows/on_release.yml @@ -0,0 +1,55 @@ +name: Creates a docker image for production + +on: + push: + tags: + - "v*" + +jobs: + build_docker: + name: Build the docker image + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + fetch-depth: 1 + - name: Log in to Nexus Docker Hub + uses: docker/login-action@v3 + with: + registry: docker.nexus.makecodes.dev + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + - name: Extract metadata (tags, labels) for Docker + id: meta + uses: docker/metadata-action@v5 + with: + images: docker.nexus.makecodes.dev/mines/frontend + - name: Build and push + uses: docker/build-push-action@v5 + with: + context: . + push: ${{ github.event_name != 'pull_request' }} + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + - name: Deploy to production server + run: | + TOKEN=$(curl --silent --location 'https://auth.makecodes.dev/auth' \ + --header 'Content-Type: application/json' \ + --data '{ + "email": "'$USERNAME'", + "password": "'$PASSWORD'" + }' | jq -r '.token') + # curl --location --silent 'https://deployer.makecodes.dev/deploy' \ + # --header 'Content-Type: application/json' \ + # --header "Authorization: Bearer $TOKEN" \ + # --data '{ + # "image": "docker.nexus.makecodes.dev/mines/frontend", + # "service": "mines_frontend", + # "version": "${{ github.ref_name }}", + # "pipeline": "${{ github.run_number }}", + # "repository": "mines/frontend" + # }' + env: + USERNAME: ${{ secrets.SERVER_AUTH_USERNAME }} + PASSWORD: ${{ secrets.SERVER_AUTH_PASSWORD }} diff --git a/.github/release-drafter.yml b/.github/release-drafter.yml deleted file mode 100644 index 2e17c87..0000000 --- a/.github/release-drafter.yml +++ /dev/null @@ -1,40 +0,0 @@ -name-template: 'v$RESOLVED_VERSION' -tag-template: 'v$RESOLVED_VERSION' -categories: - - title: 'πŸš€ Features' - label: 'feature' - - title: 'πŸ›  Maintenance' - label: 'maintenance' - - title: 'πŸ› Bug Fixes' - label: 'bug' -version-resolver: - major: - labels: - - 'major' - minor: - labels: - - 'feature' - patch: - labels: - - 'maintenance' - - 'bug' - default: patch -replacers: - - search: '/([A-Z]{2,5}-\d{1,6})/g' - replace: '[$1](https://imakecodes.atlassian.net/browse/$1)' -autolabeler: - - label: 'maintenance' - title: - - '/^chore.+/i' - - label: 'bug' - title: - - '/^fix.+/i' - - label: 'feature' - title: - - '/^feat.+/i' - - label: 'major' - title: - - '/^[a-zA-Z]+(\(.*?\))?!:.+/i' -template: | - ## What’s Changed - $CHANGES diff --git a/.github/workflows/on_release.yml b/.github/workflows/on_release.yml deleted file mode 100644 index 94405e6..0000000 --- a/.github/workflows/on_release.yml +++ /dev/null @@ -1,64 +0,0 @@ -name: Creates a docker image for production - -on: - push: - tags: - - 'v*' - -jobs: - docker: - runs-on: ubuntu-latest - steps: - - name: Build started - uses: voxmedia/github-action-slack-notify-build@v1 - if: success() - with: - channel: ci-notifications - status: STARTED - color: good - env: - SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }} - - name: Checkout - uses: actions/checkout@v1 - with: - fetch-depth: 1 - - name: Log in to Docker Hub - uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9 - with: - username: ${{ secrets.DOCKER_HUB_USERNAME }} - password: ${{ secrets.DOCKER_HUB_PASSWORD }} - - name: Extract metadata (tags, labels) for Docker - id: meta - uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38 - with: - images: redbeard/mines-frontend - - name: Build and push Docker image - uses: docker/build-push-action@ad44023a93711e3deb337508980b4b5e9bcdc5dc - env: - SCOPE: production - with: - context: . - push: true - tags: ${{ steps.meta.outputs.tags }} - labels: ${{ steps.meta.outputs.labels }} - - name: executing remote ssh commands using password - uses: appleboy/ssh-action@master - with: - host: ${{ secrets.SSH_HOST }} - username: ${{ secrets.SSH_USERNAME }} - password: ${{ secrets.SSH_PASSWORD }} - port: ${{ secrets.SSH_PORT }} - script: | - cd /media/data/apps/mines-frontend - docker pull redbeard/mines-frontend:latest - docker-compose up -d frontend - docker image prune -f - - name: Build finished - if: success() - uses: voxmedia/github-action-slack-notify-build@v1 - with: - channel: ci-notifications - status: SUCCESS - color: good - env: - SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }} diff --git a/.github/workflows/release-drafter-releaser.yml b/.github/workflows/release-drafter-releaser.yml deleted file mode 100644 index f3a2f77..0000000 --- a/.github/workflows/release-drafter-releaser.yml +++ /dev/null @@ -1,16 +0,0 @@ -name: Release Drafter -on: - push: - # branches to consider in the event; optional, defaults to all - branches: - - main -jobs: - update_release_draft: - runs-on: ubuntu-latest - steps: - # Drafts your next Release notes as Pull Requests are merged into "master" - - uses: release-drafter/release-drafter@v5 - # with: - # disable-autolabeler: true - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}