Polish wording of help dialogue. #167
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
| on: [push] | |
| name: Continuous Integration / Continuous Deployment (Unix-based) | |
| permissions: | |
| contents: write | |
| jobs: | |
| check: | |
| name: Verify code behaves as intended | |
| strategy: | |
| matrix: | |
| os: [ubuntu-22.04, macos-latest] | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - name: Install dependencies for the project (macOS, Linux) | |
| run: | | |
| if [ "$RUNNER_OS" == "Linux" ]; then | |
| pipx install meson | |
| sudo apt update && sudo apt install bison flex cmake libfl-dev | |
| # This installs the latest version of clang automatically. | |
| # This is needed for backwards compatibility purposes. | |
| wget https://apt.llvm.org/llvm.sh | |
| chmod +x llvm.sh | |
| sudo ./llvm.sh 19 | |
| elif [ "$RUNNER_OS" == "macOS" ]; then | |
| brew upgrade && brew install meson bison flex | |
| # Finally, we want to support macOS since Big Sur. | |
| echo "MACOSX_DEPLOYMENT_TARGET=11.0" >> $GITHUB_ENV | |
| fi | |
| - name: Checkout sources | |
| uses: actions/checkout@v4 | |
| - name: Install subprojects | |
| run: meson wrap install fmt | |
| - name: Setup build directory (macOS) | |
| if: runner.os == 'macOS' | |
| run: meson setup --native-file macos-build.ini build | |
| - name: Setup build directory (Linux) | |
| if: runner.os != 'macOS' | |
| run: meson setup --native-file linux-build.ini build | |
| - name: Run all tests | |
| run: meson test -C build | |
| upload: | |
| name: Upload compiled binaries | |
| needs: check | |
| strategy: | |
| matrix: | |
| os: [ubuntu-22.04, macos-latest] | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - name: Install dependencies for the project (macOS, Linux) | |
| run: | | |
| if [ "$RUNNER_OS" == "Linux" ]; then | |
| pipx install meson | |
| # This installs the latest version of clang automatically. | |
| # This is needed for backwards compatibility purposes. | |
| wget https://apt.llvm.org/llvm.sh | |
| chmod +x llvm.sh | |
| sudo ./llvm.sh 19 | |
| sudo apt update && sudo apt install libbison-dev bison flex cmake libfl-dev | |
| elif [ "$RUNNER_OS" == "macOS" ]; then | |
| brew upgrade && brew install meson bison flex | |
| # We want to support macOS since Big Sur. | |
| echo "MACOSX_DEPLOYMENT_TARGET=11.0" >> $GITHUB_ENV | |
| fi | |
| - name: Checkout sources | |
| uses: actions/checkout@v4 | |
| - name: Install subprojects | |
| run: meson wrap install fmt | |
| - name: Setup build directory (macOS) | |
| if: runner.os == 'macOS' | |
| run: meson setup -Dbuild_for_release=true --native-file macos-build.ini build | |
| - name: Setup build directory (Linux) | |
| if: runner.os != 'macOS' | |
| run: meson setup -Dbuild_for_release=true --native-file linux-build.ini build | |
| - name: Compile the project | |
| run: meson compile -C build | |
| - name: Strip unnecessary bits from the executables | |
| run: | | |
| strip build/tslchecker | |
| strip build/tslcompiler | |
| - name: Upload TSLChecker binary if this is not a release. | |
| uses: actions/upload-artifact@v4 | |
| if: github.ref_type != 'tag' | |
| with: | |
| path: build/tslchecker | |
| name: tslchecker-${{ matrix.os }} | |
| - name: Upload TSLCompiler binary if this is not a release. | |
| uses: actions/upload-artifact@v4 | |
| if: github.ref_type != 'tag' | |
| with: | |
| path: build/tslcompiler | |
| name: tslcompiler-${{ matrix.os }} | |
| - name: Prepare artifacts for release if it exists. | |
| if: github.ref_type == 'tag' | |
| run: | | |
| cp build/tslchecker tslchecker | |
| tar -cvzf tslchecker-${{ matrix.os }}.tar.gz tslchecker | |
| cp build/tslcompiler tslcompiler | |
| tar -cvzf tslcompiler-${{ matrix.os }}.tar.gz tslcompiler | |
| - name: Upload TSLChecker binary to release if it exists. | |
| uses: softprops/action-gh-release@v2 | |
| if: github.ref_type == 'tag' | |
| with: | |
| files: tslchecker-${{ matrix.os }}.tar.gz | |
| - name: Upload TSLCompiler binary to release if it exists. | |
| uses: softprops/action-gh-release@v2 | |
| if: github.ref_type == 'tag' | |
| with: | |
| files: tslcompiler-${{ matrix.os }}.tar.gz |