-
Notifications
You must be signed in to change notification settings - Fork 24
49 lines (45 loc) · 1.62 KB
/
cd.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
name: "Continuous Deployment"
on:
push:
tags:
- '[0-9]+.[0-9]+.[0-9]+'
workflow_dispatch:
env:
ENVIRONMENT: ci_cd
jobs:
release:
runs-on: ubuntu-latest
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: "Setup Python, Poetry and Dependencies"
uses: packetcoders/action-setup-cache-python-poetry@main
with:
python-version: "${{ vars.PRIMARY_PYTHON_VERSION }}"
poetry-version: "${{ vars.POETRY_VERSION }}"
- name: Install Task
run: |
sudo sh -c "$(curl --location https://taskfile.dev/install.sh)" -- -d -b /usr/local/bin
- name: Install the library
run: poetry install --no-interaction --only-root
- name: Run Continuous Integration checks
run: poetry run task ci-checks
- name: Publish package
run: |
# Use GitHub's run_number as a post-release version identifier
if [[ "${{ github.event_name }}" == "workflow_dispatch" || "${{ github.ref }}" == 'refs/heads/main' ]]; then
POETRY_VERSION=$(poetry version | awk '{print $2}')
NEW_VERSION="${POETRY_VERSION}.post${{ github.run_number }}"
poetry version "${NEW_VERSION}"
fi
poetry build
poetry publish --username __token__ --password ${{ secrets.PUBLIC_PYPI_API_TOKEN }}
- name: Initiate Website Deployment
uses: peter-evans/repository-dispatch@v2
with:
token: ${{ secrets.CI_CD_TRIGGER_GITHUB_TOKEN }}
repository: alphanome-ai/sec-ai-deploy
event-type: trigger-ci-cd