Skip to content

[Fix #3209] Fix cljfmt options serialization for format-code (#3866) #2301

[Fix #3209] Fix cljfmt options serialization for format-code (#3866)

[Fix #3209] Fix cljfmt options serialization for format-code (#3866) #2301

Workflow file for this run

name: CI
# This `on:` configuration avoids double-triggered jobs (one for `push`, one for `pull_request`).
# Pull requests will still get jobs on every commit.
# However you won't get jobs on branch pushes that lack an associated pull requests.
# On the other hand, CircleCI jobs will still be triggered, which give a useful form of feedback.
# Lastly, remember that we have a Makefile for local development - you are encouraged to use it before pushing commits.
on:
push:
branches:
- master
pull_request:
permissions:
contents: read # to fetch code (actions/checkout)
# Cancel superseded workflow runs on the same PR.
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.sha }}
cancel-in-progress: true
jobs:
integration:
# Run integration tests for all OSs and EMACS_VERSIONs.
runs-on: ${{matrix.os}}
strategy:
# Don't cancel other matrix jobs when one fails.
fail-fast: false
matrix:
# Test all Emacs versions on Ubuntu.
os: [ubuntu-latest]
emacs_version: ['28.2', '29.3', '30.1']
java_version: ['21']
include:
# For other OSes, test only the latest stable Emacs version.
- os: macos-latest # aarch64
emacs_version: '30.1'
java_version: '21'
- os: macos-15 # x64
emacs_version: '30.1'
java_version: '21'
- os: windows-latest
emacs_version: '30.1'
java_version: '21'
steps:
- name: Set up Emacs
uses: jcs090218/setup-emacs@v3
with:
version: ${{matrix.emacs_version}}
# Emacs needs GPG to verify package signatures. The MSYS2 GPG
# bundled with the GitHub Windows runner cannot handle native
# Windows paths, so we install a native Windows port of GPG
# instead.
- name: Setup Scoop and GPG on Windows
if: startsWith (matrix.os, 'windows')
uses: MinoruSekine/setup-scoop@v4.0.2
with:
apps: gpg
scoop_update: false
- name: Add GPG at the beginning of PATH on Windows
if: startsWith (matrix.os, 'windows')
run: |
echo "C:\Users\runneradmin\scoop\apps\gpg\current\bin" >> $env:GITHUB_PATH
- name: Install Eldev
if: "!startsWith (matrix.os, 'windows')"
run: curl -fsSL https://raw.github.com/doublep/eldev/master/webinstall/github-eldev | sh
- name: Install Eldev on MS-Windows
if: startsWith (matrix.os, 'windows')
run: |
curl.exe -fsSL https://raw.github.com/doublep/eldev/master/webinstall/github-eldev.bat | cmd /Q
- name: Install deps.clj on MS-Windows
if: startsWith (matrix.os, 'windows')
run: |
iwr -Uri https://raw.githubusercontent.com/borkdude/deps.clj/master/install.ps1 -outfile install_clojure.ps1
.\install_clojure.ps1
get-command deps.exe | split-path -parent | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
- name: Check out the source code
uses: actions/checkout@v6
- name: Prepare java
uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: ${{matrix.java_version}}
- name: Install Clojure Tools
uses: DeLaGuardo/setup-clojure@13.5.2
with:
bb: '1.12.214'
cli: '1.12.4.1597'
lein: '2.12.0'
- uses: actions/setup-node@v6
with:
node-version: 22
- run: npm install shadow-cljs@2.28.23 -g
- run: npm install nbb@1.4.206 -g
- uses: actions/setup-python@v6
with:
python-version: '3.12'
- run: |
pip install basilisp==0.5.0
- name: Test integration
run: |
# The tests occasionally fail on macos&win in what is seems to
# be GH connectivity runner issues. We attempt to address this
# problem by rerunning the tests more than once.
eldev -p -dtTC test --test-type integration || eldev -p -dtTC test --test-type integration
- name: Test clojure-ts-mode
if: startsWith (matrix.emacs_version, '30')
run: |
eldev -p -dtTC test --test-type clojure-ts-mode || eldev -p -dtTC test --test-type clojure-ts-mode