sandwich-contexts-kubernetes: try fixing EOF from image load #1041
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: sandwich | |
| on: | |
| pull_request: | |
| push: | |
| jobs: | |
| dev: | |
| name: dev stack | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: cachix/install-nix-action@v27 | |
| with: | |
| # release-24.05 | |
| nix_path: nixpkgs=https://github.com/NixOS/nixpkgs/archive/74435c9234c751e6786c5f3fd34ff6b0f0c13bd1.tar.gz | |
| - uses: haskell-actions/setup@v2 | |
| name: Setup Haskell Stack | |
| with: | |
| ghc-version: "9.12.2" | |
| enable-stack: true | |
| stack-version: "latest" | |
| - uses: actions/cache/restore@v4 | |
| name: Cache restore ~/.stack | |
| id: cache-restore | |
| with: | |
| path: ~/.stack | |
| key: ${{ runner.os }}-${{ matrix.ghc }}-${{ matrix.yaml }}-stack | |
| - name: apt | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y libx11-dev libxext-dev libxinerama-dev libxrandr-dev libxss-dev | |
| - name: Build | |
| run: | | |
| stack build --system-ghc --test --bench --no-run-tests --no-run-benchmarks | |
| - uses: actions/cache/save@v4 | |
| if: always() && steps.cache-restore.outputs.cache-hit != 'true' | |
| with: | |
| path: ~/.stack | |
| key: ${{ runner.os }}-${{ matrix.ghc }}-${{ matrix.yaml }}-stack | |
| cabal: | |
| name: ${{ matrix.os }} / ghc ${{ matrix.ghc }} | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [ubuntu-latest, macOS-latest, windows-latest] | |
| ghc: | |
| # - "8.6.5" | |
| # - "8.8.4" | |
| - "8.10.7" | |
| - "9.0.2" | |
| - "9.2.8" | |
| - "9.4.8" | |
| - "9.6.7" | |
| - "9.8.4" | |
| - "9.10.3" | |
| - "9.12.2" | |
| exclude: | |
| # We just want to test basic 8.8.4 compatibility on Linux; these fail. | |
| - os: macOS-latest | |
| ghc: 8.8.4 | |
| - os: windows-latest | |
| ghc: 8.8.4 | |
| # These are still failing in weird ways 11/9/2024 | |
| - os: windows-latest | |
| ghc: 9.0.2 | |
| - os: windows-latest | |
| ghc: 9.2.8 | |
| # These don't work on GitHub CI anymore because they need llvm@13, which became | |
| # disabled on 12/31/2024 | |
| - os: macOS-latest | |
| ghc: 8.10.7 | |
| - os: macOS-latest | |
| ghc: 9.0.2 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: cachix/install-nix-action@v31 | |
| if: runner.os != 'Windows' | |
| with: | |
| # release-25.05 | |
| nix_path: nixpkgs=https://github.com/NixOS/nixpkgs/archive/e56210760332660c9c6456d0db9bf0dbfe330fa9.tar.gz | |
| - name: Install dependencies (Windows) | |
| if: runner.os == 'Windows' | |
| run: | | |
| "$env:PGBIN" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append | |
| - name: Install dependencies (macOS) | |
| if: runner.os == 'macOS' | |
| run: | | |
| brew update | |
| # For postgres context tests/demo | |
| brew install libpq postgresql | |
| # https://gitlab.haskell.org/ghc/ghc/-/issues/20592#note_391266 | |
| echo "C_INCLUDE_PATH=`xcrun --show-sdk-path`/usr/include/ffi" >> "$GITHUB_ENV" | |
| - uses: haskell-actions/setup@v2 | |
| id: setup-haskell-cabal | |
| name: Setup Haskell | |
| with: | |
| ghc-version: ${{ matrix.ghc }} | |
| cabal-version: "latest" | |
| - name: Disable demo-postgres (Windows) | |
| if: runner.os == 'Windows' | |
| run: | | |
| # Disable demo-postgres since it requires unix sockets | |
| sed -i 's|, ./demos/demo-postgres|-- , ./demos/demo-postgres|g' cabal.project | |
| cat cabal.project | |
| - name: Freeze | |
| run: cabal freeze | |
| - uses: actions/cache/restore@v4 | |
| id: cache-restore | |
| with: | |
| path: ${{ steps.setup-haskell-cabal.outputs.cabal-store }} | |
| key: ${{ runner.os }}-${{ matrix.ghc }}-${{ hashFiles('cabal.project.freeze') }} | |
| - name: Build | |
| run: | | |
| cabal configure --enable-tests --enable-benchmarks --test-show-details=direct | |
| cabal build all | |
| # - name: Test (sandwich-contexts) | |
| # run: cabal test sandwich-contexts | |
| # - name: Test (sandwich-contexts-docker) | |
| # run: cabal test sandwich-contexts-docker | |
| - name: Test (sandwich-contexts-minio) | |
| run: cabal test sandwich-contexts-minio | |
| - name: Test (sandwich-hedgehog) | |
| run: cabal test sandwich-hedgehog | |
| - name: Test (sandwich-quickcheck) | |
| run: cabal test sandwich-quickcheck | |
| - name: Test (sandwich-webdriver) | |
| if: runner.os != 'Windows' | |
| run: cabal test sandwich-webdriver --test-option="--headless" --test-option="--chrome-no-sandbox" | |
| - uses: actions/cache/save@v4 | |
| if: always() && steps.cache-restore.outputs.cache-hit != 'true' | |
| with: | |
| path: ${{ steps.setup-haskell-cabal.outputs.cabal-store }} | |
| key: ${{ runner.os }}-${{ matrix.ghc }}-${{ hashFiles('cabal.project.freeze') }} | |
| - name: Upload test results | |
| uses: actions/upload-artifact@v4 | |
| if: always() | |
| with: | |
| name: test-results-cabal-${{ runner.os }}-${{ matrix.ghc }} | |
| path: | | |
| test_runs | |
| sandwich-contexts-minio/test_runs | |
| sandwich-hedgehog/test_runs | |
| sandwich-quickcheck/test_runs | |
| sandwich-webdriver/test_runs | |
| retention-days: 14 | |
| stack: | |
| name: stack / ghc ${{ matrix.ghc }} | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| # - ghc: "9.2.8" | |
| # yaml: "stack-9.2.8.yaml" | |
| # - ghc: "9.4.8" | |
| # yaml: "stack-9.4.8.yaml" | |
| - ghc: "9.6.7" | |
| yaml: "stack-9.6.7.yaml" | |
| - ghc: "9.8.4" | |
| yaml: "stack-9.8.4.yaml" | |
| - ghc: "9.10.3" | |
| yaml: "stack-9.10.3.yaml" | |
| - ghc: "9.12.2" | |
| yaml: "stack-9.12.2.yaml" | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: cachix/install-nix-action@v31 | |
| with: | |
| # release-24.05 | |
| nix_path: nixpkgs=https://github.com/NixOS/nixpkgs/archive/74435c9234c751e6786c5f3fd34ff6b0f0c13bd1.tar.gz | |
| - uses: haskell-actions/setup@v2 | |
| name: Setup Haskell Stack | |
| with: | |
| ghc-version: ${{ matrix.ghc }} | |
| enable-stack: true | |
| stack-version: "latest" | |
| - uses: actions/cache/restore@v4 | |
| name: Cache restore ~/.stack | |
| id: cache-restore | |
| with: | |
| path: ~/.stack | |
| key: ${{ runner.os }}-${{ matrix.ghc }}-${{ matrix.yaml }}-stack | |
| - name: apt | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y libx11-dev libxext-dev libxinerama-dev libxrandr-dev libxss-dev | |
| - name: Build | |
| run: | | |
| stack build --stack-yaml stack/${{matrix.yaml}} --system-ghc --test --bench --no-run-tests --no-run-benchmarks | |
| - name: Test (sandwich) | |
| if: always() | |
| run: stack test sandwich --stack-yaml stack/${{matrix.yaml}} --system-ghc | |
| - name: Test (sandwich-contexts) | |
| if: always() | |
| run: stack test sandwich-contexts --stack-yaml stack/${{matrix.yaml}} --system-ghc --ta --debug | |
| - name: Test (sandwich-contexts-docker) | |
| if: always() | |
| run: stack test sandwich-contexts-docker --stack-yaml stack/${{matrix.yaml}} --system-ghc | |
| # - name: Test (sandwich-contexts-kubernetes) | |
| # if: always() | |
| # run: stack test sandwich-contexts-kubernetes --stack-yaml stack/${{matrix.yaml}} --system-ghc | |
| - name: Test (sandwich-contexts-minio) | |
| if: always() | |
| run: stack test sandwich-contexts-minio --stack-yaml stack/${{matrix.yaml}} --system-ghc | |
| - name: Test (sandwich-hedgehog) | |
| if: always() | |
| run: stack test sandwich-hedgehog --stack-yaml stack/${{matrix.yaml}} --system-ghc | |
| - name: Test (sandwich-quickcheck) | |
| if: always() | |
| run: stack test sandwich-quickcheck --stack-yaml stack/${{matrix.yaml}} --system-ghc | |
| - name: Test (sandwich-webdriver) | |
| if: always() && runner.os != 'Windows' | |
| run: stack test sandwich-webdriver --stack-yaml stack/${{matrix.yaml}} --system-ghc --ta="--headless --chrome-no-sandbox --fixed-root sandwich-webdriver/test_runs/run" | |
| - uses: actions/cache/save@v4 | |
| if: always() && steps.cache-restore.outputs.cache-hit != 'true' | |
| with: | |
| path: ~/.stack | |
| key: ${{ runner.os }}-${{ matrix.ghc }}-${{ matrix.yaml }}-stack | |
| - name: Upload test results | |
| uses: actions/upload-artifact@v4 | |
| if: always() | |
| with: | |
| name: test-results-stack-${{ runner.os }}-${{ matrix.ghc }}-${{ matrix.yaml }} | |
| path: | | |
| sandwich-webdriver/test_runs | |
| retention-days: 14 |