Skip to content

Temporarily removing prepare actions from CI which were broken #25

Temporarily removing prepare actions from CI which were broken

Temporarily removing prepare actions from CI which were broken #25

Workflow file for this run

name: Release

Check failure on line 1 in .github/workflows/release.yml

View workflow run for this annotation

GitHub Actions / .github/workflows/release.yml

Invalid workflow file

(Line: 94, Col: 12): Job 'tag' depends on unknown job 'version'., (Line: 111, Col: 12): Job 'release' depends on job 'tag' which creates a cycle in the dependency graph., (Line: 124, Col: 13): Job 'conda' depends on job 'tag' which creates a cycle in the dependency graph., (Line: 124, Col: 18): Job 'conda' depends on job 'release' which creates a cycle in the dependency graph.
on:
workflow_dispatch:
inputs:
version:
required: true
default: 'x.y.z'
permissions:
contents: write
pull-requests: write
jobs:
checks:
name: Version check
runs-on: ubuntu-24.04
steps:
- name: Checkout repository
id: repo
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6
- name: Set up Python
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
with:
python-version: 3.14.0
- name: Get latest release from pip
id: latestreleased
run: |
PREVIOUS_VERSION=$(python -m pip index versions prepmd | grep "prepmd" | cut -d "(" -f2 | cut -d ")" -f1)
echo "pip_tag=$PREVIOUS_VERSION" >> "$GITHUB_OUTPUT"
echo $PREVIOUS_VERSION
# - name: version comparison
# id: compare
# run: |
# pip3 install semver
# output=$(pysemver compare ${{ steps.latestreleased.outputs.pip_tag }} ${{ github.event.inputs.version }})
# if [ $output -ge 0 ]; then exit 1; fi
# version:
# name: prepare ${{ github.event.inputs.version }}
# needs: checks
# runs-on: ubuntu-24.04
# steps:
# - name: checkout
# uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6
# - name: Change version in repo and CITATION.cff
# run: |
# Update Python package version
# sed -i "s/__version__ =.*/__version__ = \"${{ github.event.inputs.version }}\"/g" prepmd/__init__.py
# Update CITATION.cff version and date-released
# if [ -f CITATION.cff ]; then
# sed -i -E "s/^(version:\s*).*/\1${{ github.event.inputs.version }}/" CITATION.cff
# sed -i -E "s/^(date-released:\s*).*/\1'$(date -u +%F)'/" CITATION.cff
# fi
# - name: send PR
# id: pr_id
# uses: peter-evans/create-pull-request@c0f553fe549906ede9cf27b5156039d195d2ece0 # v8.1.0
# with:
# commit-message: Update version to ${{ github.event.inputs.version }}
# branch: version-update
# title: "Update to version ${{ github.event.inputs.version }}"
# body: |
# Update version
# - Update the __init__.py with new release
# - Update CITATION.cff version & date-released
# - Auto-generated by [CI]
# committer: version-updater <vu.bot@users.noreply.github.com>
# author: version-updater <vu.bot@users.noreply.github.com>
# base: main
# signoff: false
# draft: false
# - name: auto approve review
# uses: hmarr/auto-approve-action@f0939ea97e9205ef24d872e76833fa908a770363 # v4.0.0
# with:
# pull-request-number: ${{ steps.pr_id.outputs.pull-request-number }}
# review-message: "Auto approved version bump PR"
# github-token: ${{ secrets.AUTO_PR_MERGE }}
# - name: merge PR
# run: gh pr merge --merge --delete-branch --auto "${{ steps.pr_id.outputs.pull-request-number }}"
# env:
# GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
tag:
name: tag release
needs: version
runs-on: ubuntu-24.04
steps:
- name: Checkout repository
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6
with:
ref: main
- name: tag v${{ github.event.inputs.version }}
run: |
git config user.name github-actions
git config user.email github-actions@github.com
git tag ${{ github.event.inputs.version }}
git push origin tag ${{ github.event.inputs.version }}
release:
name: make github release
needs: tag
runs-on: ubuntu-24.04
steps:
- name: create release
uses: softprops/action-gh-release@v3
with:
name: v${{ github.event.inputs.version }}
generate_release_notes: true
tag_name: ${{ github.event.inputs.version }}
conda:
name: publish conda to anaconda.org
needs: [tag, release]
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v4
with:
ref: main
# - name: Update modeller key
# shell: bash -l {0}
# run: |
# sed -i -e 's/SECRET-MODELLER-LICENSE-KEY/${{ secrets.MODELLER_KEY }}/g' $GITHUB_WORKSPACE/conda-recipe/meta.yml
# sed -i -e 's/SECRET-MODELLER-LICENSE-KEY/${{ secrets.MODELLER_KEY }}/g' $GITHUB_WORKSPACE/conda-recipe/build.sh
- name: Setup Conda (conda-forge only)
uses: conda-incubator/setup-miniconda@v3
with:
miniforge-variant: Miniforge3
python-version: "3.13.2"
auto-activate: true
activate-environment: base
conda-remove-defaults: true
channels: conda-forge,salilab
channel-priority: strict
- name: Install build tools
shell: bash -l {0}
run: |
conda install -y conda-build anaconda-client
conda config --set anaconda_upload no
conda list conda-build
conda build --help
- name: Build package
shell: bash -l {0}
env:
PIP_NO_INDEX: "0"
run: |
PKG_PATH=$(conda build conda-recipe --output)
echo "PKG_PATH=$PKG_PATH" >> "$GITHUB_ENV"
conda build conda-recipe
test -f "$PKG_PATH"
echo "Built: $PKG_PATH"
- name: Upload to Anaconda
shell: bash -l {0}
env:
ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_TOKEN }}
run: |
anaconda -t "$ANACONDA_API_TOKEN" upload "$PKG_PATH" --user CCPBioSim --force