diff --git a/.github/workflows/integration.yml b/.github/workflows/integration.yml index 277c9fd..1d030fb 100644 --- a/.github/workflows/integration.yml +++ b/.github/workflows/integration.yml @@ -28,13 +28,15 @@ jobs: repository: MODFLOW-ORG/modflow6 path: modflow6 - - name: Setup Micromamba - uses: mamba-org/setup-micromamba@v1 + - name: Setup pixi + uses: prefix-dev/setup-pixi@v0.9.1 with: - environment-file: modflow6/environment.yml - cache-environment: true - cache-downloads: true - init-shell: bash + pixi-version: v0.41.4 + manifest-path: modflow6/pixi.toml + + - name: Custom pixi install + working-directory: modflow6 + run: pixi run install - name: Setup ${{ contains(fromJSON('["macos-14"]'), matrix.os) && 'gcc' || 'intel-classic' }} ${{ contains(fromJSON('["macos-14"]'), matrix.os) && env.GCC_V || env.INTEL_V }} uses: fortran-lang/setup-fortran@v1 @@ -69,13 +71,12 @@ jobs: if [[ "${{ matrix.os }}" == "macos-14" ]]; then setupargs="$setupargs -Doptimization=1" fi - meson setup builddir $setupargs - meson install -C builddir + pixi run build builddir $setupargs - name: Get OS tag id: ostag run: | - ostag=$(python -c "from modflow_devtools.ostags import get_ostag; print(get_ostag())") + ostag=$(pixi run --manifest-path modflow6/pixi.toml python -c "from modflow_devtools.ostags import get_ostag; print(get_ostag())") echo "ostag=$ostag" >> $GITHUB_OUTPUT - name: Build programs @@ -86,12 +87,12 @@ jobs: command: | ostag="${{ steps.ostag.outputs.ostag }}" mkdir $ostag - make-program : --appdir $ostag -ex gridgen --zip $ostag.zip --verbose - make-program mf2005,mflgr,mfnwt,mfusg --appdir $ostag --double --keep --zip $ostag.zip --verbose + pixi run --manifest-path modflow6/pixi.toml make-program : --appdir $ostag --exclude gridgen --zip $ostag.zip --verbose + pixi run --manifest-path modflow6/pixi.toml make-program mf2005,mflgr,mfnwt,mfusg --appdir $ostag --double --keep --zip $ostag.zip --verbose if [[ "${{ matrix.os }}" == "macos-14" ]]; then - make-program mf6 --appdir $ostag --keep --zip $ostag.zip --verbose --fflags='-O1' + pixi run --manifest-path modflow6/pixi.toml make-program mf6 --appdir $ostag --keep --zip $ostag.zip --verbose --fflags='-O1' fi - make-code-json --appdir $ostag --zip $ostag.zip --verbose + pixi run --manifest-path modflow6/pixi.toml make-code-json --appdir $ostag --zip $ostag.zip --verbose - name: Move programs run: | @@ -150,9 +151,9 @@ jobs: ./code.md - name: Update flopy - working-directory: modflow6/autotest - run: python update_flopy.py + working-directory: modflow6 + run: pixi run update-flopy - name: Test modflow6 - working-directory: modflow6/autotest - run: pytest -v -n auto -m "not developmode" --durations 0 + working-directory: modflow6 + run: pixi run autotest -m "not developmode" diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 61e5e51..4f83d3a 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -24,8 +24,11 @@ jobs: shell: bash steps: - - name: Checkout repo - uses: actions/checkout@v4 + - name: Checkout modflow6 + uses: actions/checkout@v5 + with: + repository: MODFLOW-ORG/modflow6 + path: modflow6 - name: Setup ${{ contains(fromJSON('["macos-14"]'), matrix.os) && 'gcc' || 'intel-classic' }} ${{ contains(fromJSON('["macos-14"]'), matrix.os) && env.GCC_V || env.INTEL_V }} uses: fortran-lang/setup-fortran@v1 @@ -65,23 +68,26 @@ jobs: echo "${{ github.repository }} version ${{ steps.tag.outputs.tag }}" echo "RELEASE_VERSION=${{ steps.tag.outputs.tag }}" >> $GITHUB_ENV - - name: Setup Python - uses: actions/setup-python@v4 + - name: Setup pixi + uses: prefix-dev/setup-pixi@v0.9.1 with: - python-version: "3.10" + pixi-version: v0.41.4 + manifest-path: modflow6/pixi.toml - - name: Install Python dependencies - run: | - python -m pip install --upgrade pip - pip install -r requirements.txt - pip list + - name: Custom pixi install + working-directory: modflow6 + run: pixi run install - name: Get OS tag id: ostag run: | - ostag=$(python -c "from modflow_devtools.ostags import get_ostag; print(get_ostag())") + ostag=$(pixi run --manifest-path modflow6/pixi.toml python -c "from modflow_devtools.ostags import get_ostag; print(get_ostag())") echo "ostag=$ostag" >> $GITHUB_OUTPUT + # interactive debugging + # - name: Setup tmate session + # uses: mxschmitt/action-tmate@v3 + - name: Build programs uses: nick-fields/retry@v3 with: @@ -90,12 +96,12 @@ jobs: command: | ostag="${{ steps.ostag.outputs.ostag }}" mkdir $ostag - make-program : --appdir $ostag -ex gridgen --zip $ostag.zip --verbose - make-program mf2005,mflgr,mfnwt,mfusg --appdir $ostag --double --keep --zip $ostag.zip --verbose + pixi run --manifest-path modflow6/pixi.toml make-program : --appdir $ostag --exclude gridgen --zip $ostag.zip --verbose + pixi run --manifest-path modflow6/pixi.toml make-program mf2005,mflgr,mfnwt,mfusg --appdir $ostag --double --keep --zip $ostag.zip --verbose if [[ "${{ matrix.os }}" == "macos-14" ]]; then - make-program mf6 --appdir $ostag --keep --zip $ostag.zip --verbose --fflags='-O1' + pixi run --manifest-path modflow6/pixi.toml make-program mf6 --appdir $ostag --keep --zip $ostag.zip --verbose --fflags='-O1' fi - make-code-json --appdir $ostag --zip $ostag.zip --verbose + pixi run --manifest-path modflow6/pixi.toml make-code-json --appdir $ostag --zip $ostag.zip --verbose - name: Show programs run: | @@ -194,8 +200,6 @@ jobs: # interactive debugging # - name: Setup tmate session # uses: mxschmitt/action-tmate@v3 - # with: - # limit-access-to-actor: true - name: Update readme id: update-readme diff --git a/requirements.txt b/requirements.txt deleted file mode 100644 index 1681eef..0000000 --- a/requirements.txt +++ /dev/null @@ -1,3 +0,0 @@ -wheel -https://github.com/modflowpy/pymake/archive/develop.zip -https://github.com/MODFLOW-ORG/modflow-devtools/archive/develop.zip \ No newline at end of file