Release prep: ison-js and ison-cs to 1.1.1 #32
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: CI | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| jobs: | |
| # =========================================== | |
| # JavaScript Tests | |
| # =========================================== | |
| test-js: | |
| name: Test JavaScript (ison-parser) | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| node-version: ['18', '20', '22'] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup Node.js ${{ matrix.node-version }} | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: ${{ matrix.node-version }} | |
| - name: Test ison-js | |
| working-directory: ison-js | |
| run: | | |
| npm install | |
| mkdir -p dist | |
| npm run build | |
| npm test | |
| # =========================================== | |
| # TypeScript Tests | |
| # =========================================== | |
| test-ts: | |
| name: Test TypeScript (ison-ts) | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| node-version: ['18', '20', '22'] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup Node.js ${{ matrix.node-version }} | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: ${{ matrix.node-version }} | |
| - name: Test ison-ts | |
| working-directory: ison-ts | |
| run: | | |
| npm install | |
| npm run build | |
| npm test | |
| - name: Test isonantic-ts | |
| working-directory: isonantic-ts | |
| run: | | |
| npm install | |
| npm run build | |
| npm test | |
| # =========================================== | |
| # Python Tests | |
| # =========================================== | |
| test-python: | |
| name: Test Python | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| python-version: ['3.9', '3.10', '3.11', '3.12'] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Test ison-py | |
| working-directory: ison-py | |
| run: | | |
| pip install -e ".[dev]" | |
| pytest tests/ -v --tb=short | |
| - name: Test isonantic | |
| working-directory: isonantic | |
| run: | | |
| pip install -e ".[dev]" | |
| pytest tests/ -v --tb=short | |
| - name: Test ison-cli | |
| working-directory: ison-cli | |
| run: | | |
| pip install -e ".[dev]" | |
| pytest tests/ -v --tb=short | |
| # =========================================== | |
| # Go Tests | |
| # =========================================== | |
| test-go: | |
| name: Test Go | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup Go | |
| uses: actions/setup-go@v5 | |
| with: | |
| go-version: 'stable' | |
| - name: Test ison-go | |
| working-directory: ison-go | |
| run: | | |
| go vet ./... | |
| go test ./... -count=1 | |
| - name: Test isonantic-go | |
| working-directory: isonantic-go | |
| run: | | |
| go vet ./... | |
| go test ./... -count=1 | |
| # =========================================== | |
| # Rust Tests | |
| # =========================================== | |
| test-rust: | |
| name: Test Rust | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| - name: Cache cargo | |
| uses: Swatinem/rust-cache@v2 | |
| - name: Test ison-rust | |
| working-directory: ison-rust | |
| run: cargo test --all-features | |
| - name: Test isonantic-rust | |
| working-directory: isonantic-rust | |
| run: cargo test --all-features | |
| # =========================================== | |
| # C++ Tests | |
| # =========================================== | |
| test-cpp: | |
| name: Test C++ | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install CMake | |
| uses: lukka/get-cmake@latest | |
| - name: Build and test ison-cpp | |
| working-directory: ison-cpp | |
| run: | | |
| mkdir -p build && cd build | |
| cmake .. -DISON_BUILD_TESTS=ON | |
| cmake --build . | |
| ctest --output-on-failure | |
| - name: Build and test isonantic-cpp | |
| working-directory: isonantic-cpp | |
| run: | | |
| mkdir -p build && cd build | |
| cmake .. -DISONANTIC_BUILD_TESTS=ON | |
| cmake --build . | |
| ctest --output-on-failure | |
| # =========================================== | |
| # C# Tests | |
| # =========================================== | |
| test-csharp: | |
| name: Test C# (ison-cs) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup .NET | |
| uses: actions/setup-dotnet@v4 | |
| with: | |
| dotnet-version: '6.0.x' | |
| - name: Build and test ison-cs | |
| working-directory: ison-cs | |
| run: | | |
| dotnet restore | |
| dotnet build --no-restore --configuration Release | |
| dotnet test --no-build --configuration Release --verbosity normal |