Updating workflows (#46)
* updating workflows * another test for deployment workflow * making the workflows more polished
This commit is contained in:
parent
296c6e3720
commit
7e2dd22b10
58
.github/workflows/deployment.yml
vendored
58
.github/workflows/deployment.yml
vendored
|
@ -1,23 +1,50 @@
|
|||
name: Deploying
|
||||
name: Workflows on Master
|
||||
|
||||
on:
|
||||
workflow_run:
|
||||
workflows: ["Deploy", "Deploy static content to Pages"]
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
types:
|
||||
- completed
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
pages: write
|
||||
id-token: write
|
||||
|
||||
jobs:
|
||||
deploy_after_master_push:
|
||||
build_and_deploy:
|
||||
runs-on: ubuntu-latest
|
||||
if: github.ref == 'refs/heads/master' && (github.event_name == 'push' || github.event.workflow_run.conclusion == 'success')
|
||||
steps:
|
||||
- name: Checkout Repository
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Deploy via SSH
|
||||
if: github.event.workflow_run.name == 'Deploy'
|
||||
- name: Set up Python 3.11 for Flake8
|
||||
uses: actions/setup-python@v3
|
||||
with:
|
||||
python-version: "3.11"
|
||||
|
||||
- name: Install Flake8
|
||||
run: pip install flake8
|
||||
|
||||
- name: Lint with Flake8
|
||||
run: flake8 --ignore=E501,F401,E402,F811,E731,F403,E722 .
|
||||
|
||||
- name: Set up Python 3.11 for Django
|
||||
uses: actions/setup-python@v3
|
||||
with:
|
||||
python-version: "3.11"
|
||||
|
||||
- name: Install Dependencies for Django
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
pip install -r requirements.txt
|
||||
cp config.example.py config.py
|
||||
|
||||
- name: Run Tests for Django
|
||||
run: |
|
||||
python manage.py test
|
||||
|
||||
- name: Configure SSH for Deployment
|
||||
if: success()
|
||||
env:
|
||||
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
|
||||
SSH_HOST: ${{ secrets.SSH_HOST }}
|
||||
|
@ -34,15 +61,16 @@ jobs:
|
|||
LogLevel ERROR
|
||||
StrictHostKeyChecking no
|
||||
END
|
||||
|
||||
- name: Deploy to Production
|
||||
if: success() && github.ref == 'refs/heads/master'
|
||||
needs: [build_and_deploy]
|
||||
run: |
|
||||
ssh target "cd tldtest && git pull origin master && docker-compose down && docker-compose up --build -d"
|
||||
|
||||
- name: Deploy static content to GitHub Pages
|
||||
if: github.event.workflow_run.name == 'Deploy static content to Pages'
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
ref: ${{ github.event.workflow_run.head_commit.sha }}
|
||||
- name: Deploy static content to Pages
|
||||
if: github.event.workflow_run.name == 'Deploy static content to Pages'
|
||||
if: success() && github.ref == 'refs/heads/master'
|
||||
needs: [build_and_deploy]
|
||||
uses: actions/deploy-pages@v4
|
||||
with:
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
|
2
.github/workflows/pull-request.yml
vendored
2
.github/workflows/pull-request.yml
vendored
|
@ -1,8 +1,6 @@
|
|||
name: Django test and Flake 8
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ "master" ]
|
||||
pull_request:
|
||||
branches: [ "master" ]
|
||||
|
||||
|
|
Loading…
Reference in a new issue