From 2a280a0a4e84ebf83c89ab953430c8505dd358d7 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Fri, 6 Nov 2020 06:29:25 +0200 Subject: [PATCH] Move to actions, test persistent 2.11 --- .azure/azure-linux-template.yml | 25 --------------- .azure/azure-osx-template.yml | 25 --------------- .azure/azure-pipelines.yml | 30 ------------------ .azure/azure-windows-template.yml | 22 ------------- .github/workflows/tests.yml | 52 +++++++++++++++++++++++++++++++ README.md | 2 +- stack-persistent-211.yaml | 20 ++++++++++++ 7 files changed, 73 insertions(+), 103 deletions(-) delete mode 100644 .azure/azure-linux-template.yml delete mode 100644 .azure/azure-osx-template.yml delete mode 100644 .azure/azure-pipelines.yml delete mode 100644 .azure/azure-windows-template.yml create mode 100644 .github/workflows/tests.yml create mode 100644 stack-persistent-211.yaml diff --git a/.azure/azure-linux-template.yml b/.azure/azure-linux-template.yml deleted file mode 100644 index ed7018a8..00000000 --- a/.azure/azure-linux-template.yml +++ /dev/null @@ -1,25 +0,0 @@ -jobs: -- job: ${{ parameters.name }} - timeoutInMinutes: 180 - pool: - vmImage: ${{ parameters.vmImage }} - strategy: - matrix: - GHC 8.2: - ARGS: "--resolver lts-11" - GHC 8.4: - ARGS: "--resolver lts-12" - GHC 8.6: - ARGS: "--resolver lts-14" - GHC 8.8: - ARGS: "--resolver lts-15" - steps: - - script: | - export STACK_ROOT="$(Build.SourcesDirectory)"/.stack-root; - export PATH=$HOME/.local/bin:$PATH - mkdir -p ~/.local/bin - curl -L https://get.haskellstack.org/stable/linux-x86_64.tar.gz | tar xz --wildcards --strip-components=1 -C ~/.local/bin '*/stack' - stack $ARGS test --bench --no-run-benchmarks --haddock --no-haddock-deps - env: - OS_NAME: ${{ parameters.os }} - displayName: 'Build and test' diff --git a/.azure/azure-osx-template.yml b/.azure/azure-osx-template.yml deleted file mode 100644 index 3b4d25f7..00000000 --- a/.azure/azure-osx-template.yml +++ /dev/null @@ -1,25 +0,0 @@ -jobs: -- job: ${{ parameters.name }} - timeoutInMinutes: 120 - pool: - vmImage: ${{ parameters.vmImage }} - strategy: - matrix: - GHC 8.2: - ARGS: "--resolver lts-11" - GHC 8.4: - ARGS: "--resolver lts-12" - GHC 8.6: - ARGS: "--resolver lts-14" - GHC 8.8: - ARGS: "--resolver lts-15" - steps: - - script: | - export PATH=$HOME/.local/bin:$PATH - export STACK_ROOT="$(Build.SourcesDirectory)"/.stack-root; - mkdir -p ~/.local/bin - curl -skL https://get.haskellstack.org/stable/osx-x86_64.tar.gz | tar xz --strip-components=1 --include '*/stack' -C ~/.local/bin; - stack $ARGS test --bench --no-run-benchmarks --haddock --no-haddock-deps - env: - OS_NAME: ${{ parameters.os }} - displayName: 'Build and test' diff --git a/.azure/azure-pipelines.yml b/.azure/azure-pipelines.yml deleted file mode 100644 index 499b2ef5..00000000 --- a/.azure/azure-pipelines.yml +++ /dev/null @@ -1,30 +0,0 @@ -# This is the complex Azure configuration, which is intended for use -# on open source libraries which need compatibility across multiple GHC -# versions, must work with cabal-install, and should be -# cross-platform. For more information and other options, see: -# -# https://docs.haskellstack.org/en/stable/azure_ci/ -# -# Copy these contents into the root directory of your Github project in a file -# named azure-pipelines.yml -# -# For better organization, you split various jobs into seprate parts -# and each of them are controlled via individual file. -jobs: -- template: azure-linux-template.yml - parameters: - name: Linux - vmImage: ubuntu-latest - os: linux - -- template: azure-osx-template.yml - parameters: - name: macOS - vmImage: macOS-latest - os: osx - -- template: azure-windows-template.yml - parameters: - name: Windows - vmImage: windows-latest - os: windows diff --git a/.azure/azure-windows-template.yml b/.azure/azure-windows-template.yml deleted file mode 100644 index dd6ed50f..00000000 --- a/.azure/azure-windows-template.yml +++ /dev/null @@ -1,22 +0,0 @@ -jobs: -- job: ${{ parameters.name }} - timeoutInMinutes: 120 - pool: - vmImage: ${{ parameters.vmImage }} - strategy: - matrix: - GHC 8.2: - ARGS: "--resolver lts-11" - GHC 8.4: - ARGS: "--resolver lts-12" - GHC 8.6: - ARGS: "--resolver lts-14" - steps: - - bash: | - export STACK_ROOT="$(Build.SourcesDirectory)"/.stack-root; - curl -sSkL http://www.stackage.org/stack/windows-x86_64 -o /usr/bin/stack.zip - unzip -o /usr/bin/stack.zip -d /usr/bin/ - stack $ARGS test --bench --no-run-benchmarks - env: - OS_NAME: ${{ parameters.os }} - displayName: 'Build and test' diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml new file mode 100644 index 00000000..1bf32d17 --- /dev/null +++ b/.github/workflows/tests.yml @@ -0,0 +1,52 @@ +name: Tests + +on: + pull_request: + push: + branches: + - master + +jobs: + build: + name: CI + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + os: [ubuntu-latest, macos-latest, windows-latest] + args: + - "--resolver nightly" + - "--resolver lts-16" + - "--resolver lts-14" + - "--resolver lts-12" + - "--resolver lts-11" + - "--stack-yaml stack-persistent-211.yaml" + # Bugs in GHC make it crash too often to be worth running + exclude: + - os: windows-latest + args: "--resolver nightly" + - os: windows-latest + args: "--resolver lts-16" + - os: windows-latest + args: "--stack-yaml stack-persistent-211.yaml" + + steps: + - name: Clone project + uses: actions/checkout@v2 + +# Getting weird OS X errors... +# - name: Cache dependencies +# uses: actions/cache@v1 +# with: +# path: ~/.stack +# key: ${{ runner.os }}-${{ matrix.resolver }}-${{ hashFiles('stack.yaml') }} +# restore-keys: | +# ${{ runner.os }}-${{ matrix.resolver }}- + + - name: Build and run tests + shell: bash + run: | + set -ex + stack upgrade + stack --version + stack test --fast --no-terminal ${{ matrix.args }} diff --git a/README.md b/README.md index fb6ae54c..14dd8280 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -[![Build Status](https://dev.azure.com/yesodweb/yesod/_apis/build/status/yesodweb.yesod?branchName=master)](https://dev.azure.com/yesodweb/yesod/_build/latest?definitionId=3&branchName=master) +![Tests](https://github.com/yesodweb/yesod/workflows/Tests/badge.svg) # Yesod Web Framework diff --git a/stack-persistent-211.yaml b/stack-persistent-211.yaml new file mode 100644 index 00000000..883223ba --- /dev/null +++ b/stack-persistent-211.yaml @@ -0,0 +1,20 @@ +resolver: lts-16.20 +packages: +- ./yesod-core +- ./yesod-static +- ./yesod-persistent +- ./yesod-newsfeed +- ./yesod-form +- ./yesod-form-multi +- ./yesod-auth +- ./yesod-auth-oauth +- ./yesod-sitemap +- ./yesod-test +- ./yesod-bin +- ./yesod +- ./yesod-eventsource +- ./yesod-websockets +extra-deps: +- persistent-2.11.0.1@rev:0 +- persistent-template-2.9.1.0@rev:0 +- persistent-sqlite-2.11.0.0@rev:0