Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ci: test workflows #1

Merged
merged 11 commits into from
Jan 15, 2024
9 changes: 9 additions & 0 deletions .github/labeler.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# https://github.com/actions/labeler

docs: docs/**

front-end: frontend/**

api: api/**

github: .github/**
93 changes: 93 additions & 0 deletions .github/workflows/api-pull-request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
name: API Pull Request

on:
workflow_run:
workflows: ['Github Labeler']
types:
- completed

# defaults:
# run:
# working-directory: test

jobs:
test:
if: ${{ github.event_name == 'push' || contains( github.event.pull_request.labels.*.name, 'github') || contains( github.event.pull_request.labels.*.name, 'api') }}
runs-on: General-Purpose-8c-Runner
name: API Unit Tests

# services:
# postgres:
# image: postgres:11.12-alpine
# env:
# POSTGRES_USER: postgres
# POSTGRES_PASSWORD: postgres
# POSTGRES_DB: postgres
# ports: ['5432:5432']
# options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5

# strategy:
# max-parallel: 2
# matrix:
# python-version: ['3.10', '3.11']

steps:
- name: Cloning repo
uses: actions/checkout@v3

- name: Install requirements
run: pip install -r requirements.txt

# - uses: actions/setup-python@v4
# with:
# python-version: ${{ matrix.python-version }}
# cache: 'poetry'

# - name: Install Dependencies
# if: steps.cached-poetry-dependencies.outputs.cache-hit != 'true'
# run: make install-packages

# - name: Run Linters
# run: make lint

# - name: Create analytics database
# env:
# PGPASSWORD: postgres
# run: createdb -h localhost -U postgres -p 5432 analytics

# - name: Check for missing migrations
# env:
# DOTENV_OVERRIDE_FILE: .env-ci-testmon
# opts: --no-input --dry-run --check
# run: make django-make-migrations

# - name: Restore cached testmon data
# if: ${{ github.event_name == 'pull_request' }}
# id: cache-testmon-restore
# uses: actions/cache/restore@v3
# with:
# enableCrossOsArchive: true
# path: |
# /home/runner/work/flagsmith/flagsmith/api/.testmondata*
# key: testmon-data-python${{ matrix.python-version }}-${{ github.event.pull_request.base.sha }}
# restore-keys: testmon-data-python${{ matrix.python-version }}-

- name: Run Tests
run: pytest

# - name: Save testmon data cache
# id: cache-testmon-save
# if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }}
# uses: actions/cache/save@v3
# with:
# path: |
# /home/runner/work/flagsmith/flagsmith/api/.testmondata*
# key: testmon-data-python${{ matrix.python-version }}-${{github.sha}}

# - name: Upload Coverage
# uses: codecov/codecov-action@v3
# env:
# PYTHON: ${{ matrix.python-version }}
# with:
# token: ${{ secrets.CODECOV_TOKEN }}
# env_vars: PYTHON
15 changes: 15 additions & 0 deletions .github/workflows/github-labeler.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
name: Github Labeler

on:
pull_request:
types: [opened, synchronize, reopened, ready_for_review]

jobs:
apply-labels:
permissions:
contents: read
pull-requests: write
runs-on: ubuntu-latest

steps:
- uses: actions/labeler@v4
21 changes: 21 additions & 0 deletions .github/workflows/test-depends-workflow.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
name: Test depends workflow

# on:
# # pull_request:
# # types: [opened, synchronize, reopened, ready_for_review]
# workflow_run:
# workflows: ["Github Labeler"]
# types:
# - completed

on:
workflow_run:
workflows: [Github Labeler]
types:
- completed

jobs:
on-success:
runs-on: ubuntu-latest
steps:
- run: echo 'The triggering workflow passed'