Skip to content

Commit

Permalink
Merge pull request #1104 from sss-create/dev
Browse files Browse the repository at this point in the history
CI pipeline repair
  • Loading branch information
yaxu authored Jan 14, 2025
2 parents 2b85712 + 9a88ee5 commit d05c3b2
Show file tree
Hide file tree
Showing 7 changed files with 160 additions and 64 deletions.
61 changes: 24 additions & 37 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: ci
name: Linux
on:
push:
paths-ignore:
Expand All @@ -9,41 +9,51 @@ on:

jobs:
cabal:
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
strategy:
matrix:
versions:
# latest
- ghc: latest
cabal: latest
args: --allow-newer=base,template-haskell
experimental: true
- ghc: 9.4.1
cabal: 3.8.1.0
# a bit newer
- ghc: 9.8.2
cabal: 3.12.1.0
args: --allow-newer=base,template-haskell
experimental: false
- ghc: 9.0.1
cabal: 3.4.0.0
# ghcup recommended
- ghc: 9.4.8
cabal: 3.12.1.0
args: --allow-newer=base,template-haskell
experimental: false
- ghc: 8.10.1
cabal: 3.4.0.0
# debian stable
- ghc: 9.0.2
cabal: 3.4.1.0
args: --allow-newer=base,template-haskell
experimental: false
- ghc: 8.8.3
cabal: 3.4.0.0
## 8.x
- ghc: 8.10.7
cabal: 3.6.2.0-p1
args: --allow-newer=base,template-haskell
experimental: false
- ghc: 8.8.4
cabal: 3.6.2.0-p1
args: --allow-newer=base,template-haskell
experimental: false
- ghc: 8.6.5
cabal: 3.4.0.0
cabal: 3.6.2.0-p1
args: --allow-newer=base,template-haskell
experimental: false

continue-on-error: ${{ matrix.versions.experimental }}
name: cabal ${{ matrix.versions.cabal }} - ghc ${{ matrix.versions.ghc }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: cache ~/.cabal/packages, ~/.cabal/store and dist-newstyle
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: |
~/.cabal/packages
Expand All @@ -52,7 +62,7 @@ jobs:
key: cabal-${{ runner.os }}-${{ matrix.versions.ghc }}

- name: install cabal and ghc
uses: haskell/actions/setup@v1
uses: haskell-actions/setup@v2
with:
ghc-version: ${{ matrix.versions.ghc }}
cabal-version: ${{ matrix.versions.cabal }}
Expand All @@ -65,27 +75,4 @@ jobs:

- name: test
run: cabal v2-test ${{ matrix.versions.args }} --enable-tests --enable-benchmarks all
stack:
runs-on: ubuntu-latest
name: stack resolver
steps:
- uses: actions/checkout@v3

- name: Set nightly resolver version
run: echo "LTS_RESOLVER=$(stack ls snapshots --lts remote | tail -3 | head -1 | awk '{print $3}')" >> $GITHUB_ENV

- name: cache ~/.stack
uses: actions/cache@v3
with:
path: |
~/.stack
key: stack-${{ runner.os }}-${{ env.LTS_RESOLVER }}

- name: install stack and ghc
uses: haskell/actions/setup@v1
with:
enable-stack: true
ghc-version: latest

- name: test
run: stack --no-terminal --resolver ${{ env.LTS_RESOLVER }} --system-ghc test --haddock --no-haddock-deps
20 changes: 9 additions & 11 deletions .github/workflows/nix.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
# A set of CI jobs for checking the Nix flake.

name: "nix"
name: Nix
on:
push:
paths-ignore:
Expand All @@ -11,19 +9,19 @@ on:

jobs:
cancel-previous-runs:
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
steps:
- name: Cancel Previous Runs
uses: styfle/cancel-workflow-action@0.9.1
uses: styfle/cancel-workflow-action@0.12.1
with:
access_token: ${{ github.token }}

nix-fmt-check:
needs: cancel-previous-runs
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v2.4.0
- uses: cachix/install-nix-action@v22
- uses: actions/checkout@v4
- uses: cachix/install-nix-action@v30
with:
nix_path: nixpkgs=channel:nixos-unstable
- run: nix fmt -- --check ./
Expand All @@ -33,11 +31,11 @@ jobs:
strategy:
matrix:
package: [tidal, tidal-link, tidal-parse]
os: [ubuntu-latest, macos-latest]
os: [ubuntu-24.04, macos-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2.4.0
- uses: cachix/install-nix-action@v22
- uses: actions/checkout@v4
- uses: cachix/install-nix-action@v30
with:
nix_path: nixpkgs=channel:nixos-unstable
- run: nix build --print-build-logs --no-update-lock-file .#${{ matrix.package }}
63 changes: 63 additions & 0 deletions .github/workflows/stack.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
# partly taken from xmonad stack CI
name: Stack

on:
push:
paths-ignore:
- "**.md"
pull_request:
paths-ignore:
- "**.md"

jobs:
stack:
name: stack resolver
runs-on: ubuntu-24.04
strategy:
matrix:
include:
- resolver: lts-22

steps:
- uses: actions/checkout@v4

- name: cache ~/.stack
uses: actions/cache@v4
with:
path: |
~/.stack
key: stack-${{ runner.os }}-${{ matrix.resolver }}

- name: install stack and ghc
uses: haskell-actions/setup@v2
with:
enable-stack: true
ghc-version: latest

- name: Cache Haskell package metadata
uses: actions/cache@v4
with:
path: ~/.stack/pantry
key: stack-pantry-${{ runner.os }}-${{ steps.cache-date.outputs.date }}

- name: Cache Haskell dependencies
uses: actions/cache@v4
with:
path: |
~/.stack/*
!~/.stack/pantry
!~/.stack/programs
key: stack-${{ runner.os }}-${{ matrix.resolver }}-${{ steps.cache-date.outputs.date }}-${{ hashFiles('stack.yaml') }}-${{ hashFiles('*.cabal') }}
restore-keys: |
stack-${{ runner.os }}-${{ matrix.resolver }}-${{ steps.cache-date.outputs.date }}-${{ hashFiles('stack.yaml') }}-
stack-${{ runner.os }}-${{ matrix.resolver }}-${{ steps.cache-date.outputs.date }}-
- name: Update hackage index
run: stack update

- name: test
run: |
stack test \
--fast --no-terminal \
--resolver ${{ matrix.resolver }} --system-ghc \
--haddock --no-haddock-deps
50 changes: 50 additions & 0 deletions .github/workflows/windows.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: Windows
on:
push:
paths-ignore:
- "**.md"
pull_request:
paths-ignore:
- "**.md"

jobs:
cabal:
runs-on: windows-latest
strategy:
matrix:
versions:
# ghcup recommended
- ghc: 9.4.8
cabal: 3.12.1.0
args: --allow-newer=base,template-haskell
experimental: false

continue-on-error: ${{ matrix.versions.experimental }}
name: cabal ${{ matrix.versions.cabal }} - ghc ${{ matrix.versions.ghc }}
steps:
- uses: actions/checkout@v4

- name: cache ~/.cabal/packages, ~/.cabal/store and dist-newstyle
uses: actions/cache@v4
with:
path: |
~/.cabal/packages
~/.cabal/store
dist-newstyle
key: cabal-${{ runner.os }}-${{ matrix.versions.ghc }}

- name: install cabal and ghc
uses: haskell-actions/setup@v2
with:
ghc-version: ${{ matrix.versions.ghc }}
cabal-version: ${{ matrix.versions.cabal }}

- name: update
run: cabal v2-update

- name: build
run: cabal v2-build ${{ matrix.versions.args }} --enable-tests --enable-benchmarks all

- name: test
run: cabal v2-test ${{ matrix.versions.args }} --enable-tests --enable-benchmarks all

20 changes: 9 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,14 @@

Tidal [![Build Status](https://github.com/tidalcycles/Tidal/workflows/ci/badge.svg)](https://github.com/tidalcycles/Tidal/actions)
=====
# Tidal <a href="https://github.com/tidalcycles/Tidal/LICENSE"><img alt="License" src="https://img.shields.io/github/license/tidalcycles/Tidal"></a>

<a href="https://github.com/tidalcycles/Tidal/actions/workflows/ci.yml"><img alt="Cabal" src="https://img.shields.io/github/actions/workflow/status/tidalcycles/Tidal/ci.yml?label=Cabal&logo=githubactions&logoColor=white"></a>
<a href="https://github.com/tidalcycles/Tidal/actions/workflows/stack.yml"><img alt="Stack" src="https://img.shields.io/github/actions/workflow/status/tidalcycles/Tidal/stack.yml?label=Stack&logo=githubactions&logoColor=white"></a>
<a href="https://github.com/tidalcycles/Tidal/actions/workflows/nix.yml"><img alt="Nix" src="https://img.shields.io/github/actions/workflow/status/tidalcycles/Tidal/nix.yml?label=Nix&logo=githubactions&logoColor=white"></a>
<a href="https://github.com/tidalcycles/Tidal/actions/workflows/windows.yml"><img alt="Windows" src="https://img.shields.io/github/actions/workflow/status/tidalcycles/Tidal/windows.yml?label=Windows&logo=githubactions&logoColor=white"></a>

Language for live coding algorithmic patterns

For documentation, mailing list and more info see here:
https://tidalcycles.org/

You can help speed up Tidal development by contributing to the collective fund here:
https://opencollective.com/tidalcycles

(c) Alex McLean and contributors, 2022

Distributed under the terms of the GNU Public license version 3 (or later).
For documentation, mailing list and more info see [here](https://tidalcycles.org/).
You can help speed up Tidal development by [contributing to the collective fund](https://opencollective.com/tidalcycles)!

(c) Alex McLean and contributors, 2025
2 changes: 1 addition & 1 deletion tidal-listener/tidal-listener.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ library
deepseq,
optparse-applicative,
tidal >= 1.10 && < 1.11,
hosc >= 0.21 && < 0.22,
hosc >= 0.20 && < 0.21,
hint,
network
default-language: Haskell2010
Expand Down
8 changes: 4 additions & 4 deletions tidal.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,10 @@ license-file: LICENSE
author: Alex McLean
maintainer: Alex McLean <[email protected]>, Mike Hodnick <[email protected]>
Stability: Experimental
Copyright: (c) Alex McLean and other contributors, 2021
Copyright: (c) Alex McLean and other contributors, 2025
category: Sound
build-type: Simple
tested-with: GHC == 8.6.5, GHC == 8.8.3, GHC == 8.10.1, GHC == 9.0.1, GHC == 9.4.8, GHC == 9.8.2
tested-with: GHC == 8.6.5, GHC == 8.8.4, GHC == 8.10.7, GHC == 9.0.2, GHC == 9.4.8, GHC == 9.8.2
data-files: BootTidal.hs

Extra-source-files: README.md CHANGELOG.md tidal.el
Expand Down Expand Up @@ -61,7 +61,7 @@ library
base >=4.8 && <5
, containers < 0.8
, colour < 2.4
, hosc >= 0.21 && < 0.22
, hosc >= 0.20 && < 0.21
, text < 2.2
, parsec >= 3.1.12 && < 3.2
, network < 3.3
Expand Down Expand Up @@ -96,7 +96,7 @@ test-suite tests
build-depends:
base ==4.*
, microspec >= 0.2.0.1
, hosc >= 0.21 && < 0.22
, hosc >= 0.20 && < 0.21
, containers
, parsec
, tidal
Expand Down

0 comments on commit d05c3b2

Please sign in to comment.