Skip to content

0.0.1

0.0.1 #1

Workflow file for this run

name: release-main
on:
release:
types: [published]
branches: [main]
jobs:
publish:
strategy:
matrix: # python-version: ["3.9", "3.10", "3.11", "3.12"]
python-version: ["3.11", "3.12"]
# os: [macos-13, windows-latest, ubuntu-latest, macos-14]
os: [ubuntu-latest, macos-14]
fail-fast: false
runs-on: ${{ matrix.os }}
defaults:
run:
shell: bash
steps:
- name: Check out
uses: actions/checkout@v4
with:
submodules: true
fetch-depth: 2
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- uses: abatilo/actions-poetry@v3
- name: setup graalvm for static native build
uses: graalvm/setup-graalvm@v1
with:
java-version: "23"
distribution: "graalvm-community"
github-token: ${{ secrets.GITHUB_TOKEN }}
components: "native-image"
# native-image-musl: 'true' # Now semi-static by not including libc
native-image-job-reports: "true"
cache: "maven"
- name: build entire project
working-directory: vcell_submodule
run: |
mvn --batch-mode clean install dependency:copy-dependencies -DskipTests=true
- name: test, record, and build/install native library (ubuntu)
working-directory: vcell-native
run: |
mvn --batch-mode clean install
java -agentlib:native-image-agent=config-output-dir=target/recording \
-jar target/vcell-native-1.0-SNAPSHOT.jar \
"src/test/resources/TinySpacialProject_Application0.xml" \
"target/sbml-input"
mvn --batch-mode -P shared-dll package
cp target/libvcell.so ../libvcell/_internal/libs
if: ${{ startsWith(matrix.os, 'ubuntu') }}
- name: test, record, and build/install native library (macos)
working-directory: vcell-native
run: |
mvn --batch-mode clean install
java -agentlib:native-image-agent=config-output-dir=target/recording \
-jar target/vcell-native-1.0-SNAPSHOT.jar \
"src/test/resources/TinySpacialProject_Application0.xml" \
"target/sbml-input"
mvn --batch-mode -P shared-dll package
cp target/libvcell.dylib ../libvcell/_internal/libs
if: ${{ startsWith(matrix.os, 'macos') }}
- name: test, record, and build/install native library (windows)
working-directory: vcell-native
run: |
mvn --batch-mode clean install
java -agentlib:native-image-agent=config-output-dir=target\recording -jar "target\vcell-native-1.0-SNAPSHOT.jar" "src\test\resources\TinySpacialProject_Application0.xml" "target\sbml-input"
mvn --batch-mode -P shared-dll package
cp target/libvcell.dll ../libvcell/_internal/libs
if: ${{ startsWith(matrix.os, 'windows') }}
- name: Install python dependencies
run: poetry install --no-interaction
- name: Run tests
run: poetry run pytest tests
- name: Export tag
id: vars
run: echo tag=${GITHUB_REF#refs/*/} >> $GITHUB_OUTPUT
- name: Build and publish
run: |
source .venv/bin/activate
poetry version $RELEASE_VERSION
make build-and-publish
env:
PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }}
RELEASE_VERSION: ${{ steps.vars.outputs.tag }}
deploy-docs:
needs: publish
runs-on: ubuntu-latest
steps:
- name: Check out
uses: actions/checkout@v4
- name: Set up the environment
uses: ./.github/actions/setup-poetry-env
- name: Deploy documentation
run: poetry run mkdocs gh-deploy --force