test.yml (2195B)
1 name: CI 2 3 on: [push, pull_request] 4 5 permissions: 6 contents: read # to fetch code (actions/checkout) 7 8 jobs: 9 integration: 10 # Run integration tests for all OSs and EMACS_VERSIONs. 11 runs-on: ${{matrix.os}} 12 13 strategy: 14 matrix: 15 os: [macos-latest, ubuntu-latest, windows-latest] 16 emacs_version: ['26.3', '27.2', '28.2'] 17 18 steps: 19 - name: Set up Emacs 20 if: "!startsWith (matrix.os, 'windows')" 21 uses: purcell/setup-emacs@master 22 with: 23 version: ${{matrix.emacs_version}} 24 25 - name: Set up Emacs on Windows 26 if: startsWith (matrix.os, 'windows') 27 uses: jcs090218/setup-emacs-windows@master 28 with: 29 version: ${{matrix.emacs_version}} 30 31 - name: Install Eldev 32 if: "!startsWith (matrix.os, 'windows')" 33 run: curl -fsSL https://raw.github.com/doublep/eldev/master/webinstall/github-eldev | sh 34 35 - name: Install Eldev on MS-Windows 36 if: startsWith (matrix.os, 'windows') 37 run: | 38 # Remove expired DST Root CA X3 certificate. Workaround 39 # for https://debbugs.gnu.org/cgi/bugreport.cgi?bug=51038 40 # bug on Emacs 27.2. 41 gci cert:\LocalMachine\Root\DAC9024F54D8F6DF94935FB1732638CA6AD77C13 42 gci cert:\LocalMachine\Root\DAC9024F54D8F6DF94935FB1732638CA6AD77C13 | Remove-Item 43 44 curl.exe -fsSL https://raw.github.com/doublep/eldev/master/webinstall/github-eldev.bat | cmd /Q 45 46 - name: Check out the source code 47 uses: actions/checkout@v2 48 49 - name: Prepare java 50 uses: actions/setup-java@v3 51 with: 52 distribution: 'temurin' 53 # shadow requires java 11 54 java-version: 11 55 56 - name: Install Clojure Tools 57 # Use SHA until 58 # https://github.com/DeLaGuardo/setup-clojure/issues/78 is 59 # released 60 uses: DeLaGuardo/setup-clojure@1376ded6747c79645e82c856f16375af5f5de307 61 with: 62 bb: '1.0.165' 63 cli: '1.10.3.1013' 64 lein: '2.9.10' 65 66 - uses: actions/setup-node@v3 67 with: 68 node-version: 16 69 - run: npm install shadow-cljs@2.20.13 -g 70 - run: npm install nbb@1.1.152 -g 71 72 - name: Test integration 73 run: | 74 eldev -p -dtTC test --test-type integration