Skip to content

fix: Ignore pyc and fix daphne entrypoint on Dockerfile #42

fix: Ignore pyc and fix daphne entrypoint on Dockerfile

fix: Ignore pyc and fix daphne entrypoint on Dockerfile #42

Workflow file for this run

# Sample workflow for building and deploying an Astro site to GitHub Pages
#
# To get started with Astro see: https://docs.astro.build/en/getting-started/
#
name: Deploy Astro site to Pages
on:
# Runs on pushes targeting the default branch
push:
branches: [main]
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write
# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: pages
cancel-in-progress: false
env:
BUILD_PATH: . # default value when not using subfolders
# BUILD_PATH: subfolder
jobs:
deploy_backend:
name: backend
runs-on: self-hosted
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Reveal the git secrets
run: |
git secret reveal
- name: Use docker-compose to run backend
run: |
docker compose -f docker-compose.yml up -d --build
build:
needs: deploy_backend # more likely this frontend version requires something from the backend if the backend fails there is no need for this to run
name: Build
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Detect package manager
id: detect-package-manager
run: |
if [ -f "${{ github.workspace }}/yarn.lock" ]; then
echo "manager=yarn" >> $GITHUB_OUTPUT
echo "command=install" >> $GITHUB_OUTPUT
echo "runner=yarn" >> $GITHUB_OUTPUT
echo "lockfile=yarn.lock" >> $GITHUB_OUTPUT
exit 0
elif [ -f "${{ github.workspace }}/package.json" ]; then
echo "manager=npm" >> $GITHUB_OUTPUT
echo "command=install" >> $GITHUB_OUTPUT
echo "runner=npx --no-install" >> $GITHUB_OUTPUT
echo "lockfile=package-lock.json" >> $GITHUB_OUTPUT
exit 0
else
echo "Unable to determine package manager"
exit 1
fi
- name: Setup Pages
id: pages
uses: actions/configure-pages@v5
- name: Install dependencies
run: ${{ steps.detect-package-manager.outputs.manager }} ${{ steps.detect-package-manager.outputs.command }}
working-directory: ${{ env.BUILD_PATH }}
- name: Build with Astro
run: |
${{ steps.detect-package-manager.outputs.runner }} astro build \
--site "${{ steps.pages.outputs.origin }}" \
--base "${{ steps.pages.outputs.base_path }}"
working-directory: ${{ env.BUILD_PATH }}
- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
path: ${{ env.BUILD_PATH }}/dist
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
needs: build
runs-on: ubuntu-latest
name: Deploy
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
notify_failure_backend:
name: Notify that the backend failed
needs: deploy_backend
if: ${{ always() && needs.deploy_backend.result == 'failure' }}
uses: ./.github/workflows/ci_project.yml
with:
# Pass the final status of the job you want to report on
status: ${{ needs.deploy_backend.result }}
# Pass required context for verbose messaging
repo_name: ${{ github.repository }}
branch: ${{ github.ref_name }}
commit_message: ${{ github.event.head_commit.message }}
run_url: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
secrets:
DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
TELEGRAM_TO: ${{ secrets.TELEGRAM_TO }}
TELEGRAM_TOKEN: ${{ secrets.TELEGRAM_TOKEN }}
notify_failure_build:
name: Notify that the build of the frontend (github pages made on Astro) failed
needs: build
if: ${{ always() && needs.build.result == 'failure' }}
uses: ./.github/workflows/ci_project.yml
with:
# Pass the final status of the job you want to report on
status: ${{ needs.build.result }}
# Pass required context for verbose messaging
repo_name: ${{ github.repository }}
branch: ${{ github.ref_name }}
commit_message: ${{ github.event.head_commit.message }}
run_url: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
secrets:
DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
TELEGRAM_TO: ${{ secrets.TELEGRAM_TO }}
TELEGRAM_TOKEN: ${{ secrets.TELEGRAM_TOKEN }}
notify:
name: Final notification of whether the deployment of the github pages either failed or was successful
needs: deploy
if: ${{ always() && needs.deploy.result == 'failure' || needs.deploy.result == 'success'}}
uses: ./.github/workflows/ci_project.yml
with:
# Pass the final status of the job you want to report on
status: ${{ needs.deploy.result }}
# Pass required context for verbose messaging
repo_name: ${{ github.repository }}
branch: ${{ github.ref_name }}
commit_message: ${{ github.event.head_commit.message }}
run_url: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
secrets:
DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
TELEGRAM_TO: ${{ secrets.TELEGRAM_TO }}
TELEGRAM_TOKEN: ${{ secrets.TELEGRAM_TOKEN }}