Skip to content

Commit

Permalink
feat: Separate data.lock per profile and fix small issues (#8)
Browse files Browse the repository at this point in the history
  • Loading branch information
xmnlab authored Dec 22, 2023
1 parent 6cde103 commit 91a8b3d
Show file tree
Hide file tree
Showing 11 changed files with 734 additions and 340 deletions.
109 changes: 100 additions & 9 deletions .github/workflows/main.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,46 @@ name: build
on: [push, pull_request]

jobs:
build:
check-branch:
runs-on: ubuntu-latest

timeout-minutes: 2
concurrency:
group: ci-check-branch-${{ github.ref }}
cancel-in-progress: true

steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0

- name: Check if the PR's branch is updated
uses: osl-incubator/[email protected]
with:
remote_branch: origin/main
pr_sha: ${{ github.event.pull_request.head.sha }}

build:
needs: check-branch
strategy:
matrix:
python_version:
- "3.8.1"
- "3.9"
- "3.10"
- "3.11"
- "3.12"

os:
- 'ubuntu'
- 'macos'
# - 'windows' # note: makim doesn't have support for windows yet

runs-on: ${{ matrix.os }}-latest

timeout-minutes: 10
concurrency:
group: ci-${{ github.ref }}
group: ci-tests-${{ matrix.os }}-${{ matrix.python_version }}-${{ github.ref }}
cancel-in-progress: true

defaults:
Expand All @@ -16,16 +51,39 @@ jobs:

steps:
- uses: actions/checkout@v3
- uses: conda-incubator/setup-miniconda@v2

- name: Install MacOS extra tools and add extra setup
if: ${{ matrix.os == 'macos' }}
run: |
sudo mkdir -p /tmp
sudo chmod 777 /tmp
brew install gnu-sed
echo 'export PATH="/usr/local/opt/gnu-sed/libexec/gnubin:$PATH"' >> ~/.bashrc
echo 'export PATH="/usr/local/opt/gnu-sed/libexec/gnubin:$PATH"' >> ~/.bash_profile
- name: Prepare conda environment (windows)
if: ${{ matrix.os == 'windows' }}
run: |
$env:Path += ";C:\Program Files\Git\usr\bin"
sed -i s/python\ 3\.8/python\ ${{ matrix.python_version }}/ conda/dev.yaml
cat conda/dev.yaml
- name: Prepare conda environment
if: ${{ matrix.os != 'windows' }}
run: |
sed -i s/python\ 3\.8\.1/python\ ${{ matrix.python_version }}/ conda/dev.yaml
cat conda/dev.yaml
- uses: conda-incubator/setup-miniconda@v3
with:
miniconda-version: "latest"
mamba-version: "1.*"
environment-file: conda/dev.yaml
channels: conda-forge,nodefaults
channel-priority: true
activate-environment: envers
use-mamba: true
miniforge-variant: Mambaforge
auto-update-conda: true
conda-solver: libmamba

- name: Install dependencies
run: |
Expand All @@ -39,7 +97,40 @@ jobs:
run: |
makim tests.smoke
- name: Run style checks
linter-and-docs:
needs: check-branch
runs-on: ubuntu-latest
timeout-minutes: 10

defaults:
run:
shell: bash -l {0}

concurrency:
group: ci-linter-docs-${{ github.ref }}
cancel-in-progress: true

steps:
- uses: actions/checkout@v3

- uses: conda-incubator/setup-miniconda@v3
with:
miniconda-version: "latest"
environment-file: conda/dev.yaml
channels: conda-forge,nodefaults
activate-environment: envers
auto-update-conda: true
conda-solver: libmamba

- name: Install dependencies
run: |
pre-commit install
makim tests.linter
poetry config virtualenvs.create false
poetry install
- name: Test documentation generation
run: makim docs.build

- name: Run style checks
if: success() || failure()
run: makim tests.linter
7 changes: 3 additions & 4 deletions .github/workflows/release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,16 +25,15 @@ jobs:
steps:
- uses: actions/checkout@v3

- uses: conda-incubator/setup-miniconda@v2
- uses: conda-incubator/setup-miniconda@v3
with:
miniconda-version: "latest"
mamba-version: "1.*"
environment-file: conda/dev.yaml
channels: conda-forge,nodefaults
channel-priority: true
activate-environment: envers
use-mamba: true
miniforge-variant: Mambaforge
auto-update-conda: true
conda-solver: libmamba

- name: Install deps
run: |
Expand Down
6 changes: 3 additions & 3 deletions .makim.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ groups:
envers init
echo "ENV=dev" > .env
envers draft 1.0 --from-env .env
envers draft 2.0 --from-version 1.0
envers draft 2.0 --from-spec 1.0
smoke-deploy:
help: "Smoke test for envers draft"
Expand All @@ -105,8 +105,8 @@ groups:
export TEST_DATA="${CURRENT_PATH}/tests/data"
export TEST_TMP="{{ env.TEST_TMP }}"
cd "${TEST_TMP}"
echo "{{ env.ENVERS_PASS }}" | envers deploy 1.0
echo "{{ env.ENVERS_PASS }}" | envers deploy 2.0
echo "{{ env.ENVERS_PASS }}" | envers deploy --profile base --spec 1.0
echo "{{ env.ENVERS_PASS }}" | envers deploy --profile base --spec 2.0
smoke:
help: "Smoke tests"
Expand Down
4 changes: 2 additions & 2 deletions conda/dev.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ channels:
- nodefaults
- conda-forge
dependencies:
- python >=3.8.1,<3.12
- python >=3.8.1
- pip
- poetry 1.5.*
- poetry >=1.5
- nodejs # used by semantic-release
- shellcheck
Loading

0 comments on commit 91a8b3d

Please sign in to comment.