IdHub/.gitea/workflows/ci-pipeline.yaml

90 lines
2.1 KiB
YAML

name: Django CI Pipeline
on:
push:
branches:
- main
- release
- testing-pipeline
pull_request:
branches:
- main
- release
jobs:
test:
runs-on: self-hosted
env:
SECRET_KEY: "t3st-dummy-s3cr3t-k3y"
STATIC_ROOT: "tmp/static/"
MEDIA_ROOT: "tmp/media/"
steps:
- uses: actions/checkout@v4
- name: Check version and distribution
run: |
uname -srm
cat /etc/os-release
- name: Install python3-venv
id: install
run: |
apt-get update
apt-get install python3 python3-venv python3-pip -y
- name: Check Python version
run: |
python3 --version
- name: Create virtual environment
run: |
python3 -m venv venv
source venv/bin/activate
echo "Virtual environment created successfully"
# https://docs.github.com/en/actions/learn-github-actions/contexts#steps-context
if: steps.install.outcome == 'success'
- name: Get DIDKit wheel
id: didkit
run: |
wget https://gitea.pangea.org/trustchain-oc1-orchestral/ssikit_trustchain/raw/branch/master/didkit-0.3.2-cp311-cp311-manylinux_2_34_x86_64.whl
echo "Successfully downloaded DIDkit"
- name: Install dependencies
run: |
source venv/bin/activate
which python
pip -V
pip install --upgrade pip
pip -V
python -V
pip install -r requirements.txt
if: steps.didkit.outcome == 'success'
- name: Run tests
run: |
source venv/bin/activate
python manage.py test
deploy:
needs: test
runs-on: self-hosted
steps:
- uses: actions/checkout@v4
- name: Trigger Remote Script
run: |
response=$(curl -s -o /dev/null -w "%{http_code}" -X POST http://45.150.187.54:5000/trigger-script -H "Authorization: SecretToken")
if [ "$response" -ne 200 ]; then
echo "Script execution failed with HTTP status $response"
exit 1
else
echo "Script execution successful"
exit 0
fi
if: success() && github.ref == 'refs/heads/main'