diff options
| author | capellancitizen <thecapellancitizen@gmail.com> | 2024-08-28 20:10:46 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-08-28 20:10:46 -0400 |
| commit | f8a093ea306ce01f45936c6b34065ab57f6ccded (patch) | |
| tree | 2c81368900a795b4cb63a2cdfeaf4e6b9ca313bb | |
| parent | d26ec2187427d68193748eeb534a03cc6ba9d2ea (diff) | |
Additional CI Improvements (#3174)
| -rw-r--r-- | .github/workflows/build.yml | 26 | ||||
| -rwxr-xr-x | bin/build-linux (renamed from bin/build-linux-dist) | 15 |
2 files changed, 24 insertions, 17 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index f664d594..06d44177 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -16,18 +16,12 @@ jobs: - uses: actions/setup-python@v5 with: python-version: '3.9.x' - - uses: actions/cache@v4 - id: pip-cache - with: - path: ~/.cache/pip - key: ${{ runner.os }}-20.04-pip-${{ hashFiles('**/requirements.txt') }} - restore-keys: | - ${{ runner.os }}-20.04-pip- + cache: 'pip' - uses: actions/cache@v4 id: geos-build-cache with: path: geos/build - key: ${{ runner.os }}-20.04-geos-build-${{ hashFiles('bin/build-linux') }} + key: ${{ runner.os }}-20.04-geos-build-${{ hashFiles('**/bin/build-linux') }} restore-keys: | ${{ runner.os }}-20.04-geos-build- @@ -75,7 +69,13 @@ jobs: echo "${{ env.pythonLocation }}\bin" >> $GITHUB_PATH - shell: bash run: | - bin/build-linux-dist + bin/build-linux + - shell: bash + run: | + pytest + - shell: bash + run: | + make dist env: BUILD: linux INKSTITCH_GPG_KEY: ${{ secrets.INKSTITCH_GPG_KEY }} @@ -93,11 +93,12 @@ jobs: with: python-version: '3.8.x' architecture: 'x86' + cache: 'pip' - uses: actions/cache@v4 id: geos-build-cache with: path: geos - key: win32-geos-build-${{ hashFiles('bin/geos-win.cmd') }} + key: win32-geos-build-${{ hashFiles('**/bin/build-geos-win.cmd') }} restore-keys: | win32-geos-build- - uses: microsoft/setup-msbuild@v2 @@ -166,11 +167,12 @@ jobs: with: python-version: '3.8.x' architecture: 'x64' + cache: 'pip' - uses: actions/cache@v4 id: geos-build-cache with: path: geos - key: win64-geos-build-${{ hashFiles('bin/geos-win.cmd') }} + key: win64-geos-build-${{ hashFiles('**/bin/build-geos-win.cmd') }} restore-keys: | win64-geos-build- - uses: microsoft/setup-msbuild@v2 @@ -232,6 +234,7 @@ jobs: - uses: actions/setup-python@v5 with: python-version: '3.9.x' + cache: 'pip' - name: install dependencies shell: bash run: | @@ -293,6 +296,7 @@ jobs: - uses: actions/setup-python@v5 with: python-version: '3.9.x' + cache: 'pip' - name: install dependencies shell: bash run: | diff --git a/bin/build-linux-dist b/bin/build-linux index 5b591f71..c7014658 100755 --- a/bin/build-linux-dist +++ b/bin/build-linux @@ -17,13 +17,16 @@ export PATH=$GEOS_PATH/bin:$PATH export GEOS_INCLUDE_PATH=$GEOS_PATH/include export GEOS_LIBRARY_PATH=$GEOS_PATH/lib export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$GEOS_PATH/lib +if [ ! -z "$CI" ]; then + # Write the geos path to GITHUB_PATH so successive steps can use + echo $GEOS_PATH/bin >> $GITHUB_PATH + # Set these variables in GITHUB_ENV so successive steps can use them. + echo "GEOS_INCLUDE_PATH=$GEOS_INCLUDE_PATH" >> $GITHUB_ENV + echo "GEOS_LIBRARY_PATH=$GEOS_LIBRARY_PATH" >> $GITHUB_ENV + echo "LD_LIBRARY_PATH=$LD_LIBRARY_PATH" >> $GITHUB_ENV +fi + cd ../.. python -m pip uninstall -y shapely python -m pip cache remove shapely python -m pip install -v shapely --no-binary shapely -# Future improvement might be to split this out so pytest is a separate step and line on the build log, -# but the LD_LIBRARY_PATH env var needs to be passed between those steps with step outputs or something. -# This works for now. -pytest -make dist - |
