From 8ed0105f2460e07e08bd352cf7c68b8a5ee408b3 Mon Sep 17 00:00:00 2001 From: Bonelli Date: Tue, 10 Feb 2026 07:54:05 -0500 Subject: [PATCH] ci: remove integration.yml --- .github/workflows/integration.yml | 170 ------------------------------ DEVELOPER.md | 2 +- 2 files changed, 1 insertion(+), 171 deletions(-) delete mode 100644 .github/workflows/integration.yml diff --git a/.github/workflows/integration.yml b/.github/workflows/integration.yml deleted file mode 100644 index 1e58b3b..0000000 --- a/.github/workflows/integration.yml +++ /dev/null @@ -1,170 +0,0 @@ -name: Integration testing -on: - workflow_dispatch: -env: - GCC_V: 12 - INTEL_V: 2021.7 -jobs: - test_modflow: - name: MODFLOW 6 integration tests - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - os: [ ubuntu-22.04, macos-14, macos-15-intel, windows-2022 ] - defaults: - run: - shell: bash -l {0} - steps: - - - name: Checkout repo - uses: actions/checkout@v5 - with: - path: executables - - - name: Checkout modflow6 - uses: actions/checkout@v5 - with: - repository: MODFLOW-ORG/modflow6 - path: modflow6 - - - name: Setup pixi - uses: prefix-dev/setup-pixi@v0.9.1 - with: - 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"]'), runner.os) && 'gcc' || 'intel-classic' }} ${{ contains(fromJSON('["macOS"]'), runner.os) && env.GCC_V || env.INTEL_V }} - uses: fortran-lang/setup-fortran@v1 - with: - compiler: ${{ contains(fromJSON('["macOS"]'), runner.os) && 'gcc' || 'intel-classic' }} - version: ${{ contains(fromJSON('["macOS"]'), runner.os) && env.GCC_V || env.INTEL_V }} - - - name: Setup Xcode CLT (macOS) - uses: maxim-lobanov/setup-xcode@v1 - if: runner.os == 'macOS' - with: - xcode-version: 'latest' - - - name: Set LDFLAGS (macOS) - if: runner.os == 'macOS' - run: | - ldflags="$LDFLAGS -Wl,-ld_classic" - echo "LDFLAGS=$ldflags" >> $GITHUB_ENV - - - name: Hide dylibs (macOS) - if: runner.os == 'macOS' - run: | - version=${{ env.GCC_V }} - brew_prefix="$(brew --prefix)" - libpath="$brew_prefix/opt/gcc@$version/lib/gcc/$version" - mv $libpath/libgcc_s.1.1.dylib $libpath/libgcc_s.1.1.dylib.bak - mv $libpath/libgfortran.5.dylib $libpath/libgfortran.5.dylib.bak - mv $libpath/libquadmath.0.dylib $libpath/libquadmath.0.dylib.bak - mv $libpath/libstdc++.6.dylib $libpath/libstdc++.6.dylib.bak - - # only necessary because we need mf5to6 for mf6 autotests - - name: Build modflow6 - working-directory: modflow6 - run: | - setupargs="--prefix=$(pwd) --libdir=bin -Ddebug=false" - if [[ "${{ matrix.os }}" == "macos-14" ]]; then - setupargs="$setupargs -Doptimization=1" - fi - pixi run build builddir $setupargs - - - name: Get OS tag - id: ostag - run: | - 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: Fetch pre-built programs - working-directory: executables - run: | - ostag="${{ steps.ostag.outputs.ostag }}" - mkdir $ostag - pixi run --manifest-path ../modflow6/pixi.toml python scripts/fetch_releases.py --manifest releases.json --ostag $ostag --outdir $ostag --zip $ostag.zip - - - name: Build programs - uses: nick-fields/retry@v3 - with: - shell: bash - timeout_minutes: 40 - command: | - ostag="${{ steps.ostag.outputs.ostag }}" - fetched=$(pixi run --manifest-path modflow6/pixi.toml python executables/scripts/fetch_releases.py --manifest executables/releases.json --list) - pixi run --manifest-path modflow6/pixi.toml make-program : --appdir executables/$ostag --exclude "$fetched" --zip executables/$ostag.zip --verbose - pixi run --manifest-path modflow6/pixi.toml make-program mf2005,mflgr,mfnwt,mfusg --appdir executables/$ostag --double --keep --zip executables/$ostag.zip --verbose - if [[ "${{ matrix.os }}" == "macos-14" ]]; then - pixi run --manifest-path modflow6/pixi.toml make-program mf6 --appdir executables/$ostag --keep --zip executables/$ostag.zip --verbose --fflags='-O1' - fi - pixi run --manifest-path modflow6/pixi.toml make-code-json --appdir executables/$ostag --zip executables/$ostag.zip --verbose - - - name: Move programs - run: | - # build programs - ostag="${{ steps.ostag.outputs.ostag }}" - - # move programs where mf6 autotests expect them - mkdir modflow6/bin/downloaded - cp executables/$ostag/* modflow6/bin/downloaded - - # move mf6 binaries to top-level bindir in mf6 repo - if [[ "$RUNNER_OS" == "Windows" ]]; then - eext=".exe" - oext=".dll" - elif [[ "$RUNNER_OS" == "Linux" ]]; then - eext="" - oext=".so" - else - eext="" - oext=".dylib" - fi - cp "executables/$ostag/mf6$eext" modflow6/bin - cp "executables/$ostag/libmf6$oext" modflow6/bin - cp "executables/$ostag/zbud6$eext" modflow6/bin - - # set execute permissions - if [[ "$RUNNER_OS" != "Windows" ]]; then - sudo chmod +x modflow6/bin/* - sudo chmod +x modflow6/bin/downloaded/* - fi - - - name: Show programs - run: | - ostag="${{ steps.ostag.outputs.ostag }}" - ls executables/$ostag - - - name: Check linked libs (macOS) - if: runner.os == 'macOS' - run: | - ostag="${{ steps.ostag.outputs.ostag }}" - find executables/$ostag -perm +111 -type f | xargs -I{} sh -c "otool -L {}" - - - name: Upload programs - uses: actions/upload-artifact@v4 - with: - name: ${{ steps.ostag.outputs.ostag }} - path: executables/${{ steps.ostag.outputs.ostag }}.zip - - - name: Upload metadata - if: runner.os == 'Linux' - uses: actions/upload-artifact@v4 - with: - name: ${{ steps.ostag.outputs.ostag }} - path: | - executables/code.json - executables/code.md - - - name: Update flopy - working-directory: modflow6 - run: pixi run update-flopy - - - name: Test modflow6 - working-directory: modflow6 - run: pixi run autotest -m "not developmode" diff --git a/DEVELOPER.md b/DEVELOPER.md index 479b0c2..1eeb920 100644 --- a/DEVELOPER.md +++ b/DEVELOPER.md @@ -135,7 +135,7 @@ This hybrid system will be replaced by the [modflow-devtools programs API](https The `workflow_dispatch` event is GitHub's mechanism for manually triggering workflows. This can be accomplished from the Actions tab in the GitHub UI, or via the [GitHub CLI](https://cli.github.com/manual/gh_workflow_run). -First, trigger the `integration.yml` workflow to build mf6 with pymake and run it against the mf6 autotest suite. If tests pass, trigger the `release.yml` workflow to make the release. +Trigger the `release.yml` workflow to start the release. ### GitHub UI