diff options
| author | Leitwolf11 | 2026-11-12 07:31:31 +0300 |
|---|---|---|
| committer | Leitwolf11 | 2026-11-12 07:31:31 +0300 |
| commit | f7545228848e250856b9cdf2cf92538dfda0eb4f (patch) | |
| tree | e5ac0c1cc0ca8cf1225169d02112c7861cce4979 /.github/workflows | |
| download | tazel-f7545228848e250856b9cdf2cf92538dfda0eb4f.tar.gz | |
Start Tazel again at 0.1.0 for C, C++, Objective-C, Objective-C++ and Zig
Tazel restarts as a build system and package manager for C, C++,
Objective-C, Objective-C++ and Zig, with MODULE.kts and BUILD.kts project
files and labels such as //app/:greeter. The earlier Tazel, the build system
of Tala (0.1.0 to 0.4.0.3), is archived as Progmasoft/tazel-legacy, with its
history and releases.
This first commit holds the build of the program only: Gradle 9 with the
Kotlin JVM plugin (JDK 25, warnings as errors), Spotless, JaCoCo, the
Kotlin scripting libraries the project files will need, Mordant, and an
entry point that answers version and help and refuses anything else with
exit code 2. CI runs gradlew check installDist on Linux, Windows and macOS;
CodeQL, zizmor and Dependency Review come from the earlier repository.
The license is MPL-2.0 WITH AdditionRef-Progmasoft-Exception-2.0.
Diffstat (limited to '.github/workflows')
| -rw-r--r-- | .github/workflows/ci.yml | 49 | ||||
| -rw-r--r-- | .github/workflows/codeql.yml | 70 | ||||
| -rw-r--r-- | .github/workflows/dependency-review.yml | 34 | ||||
| -rw-r--r-- | .github/workflows/zizmor.yml | 38 |
4 files changed, 191 insertions, 0 deletions
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..4b364e4 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,49 @@ +# SPDX-FileCopyrightText: 2026 Progmasoft <support@progmasoft.com> +# SPDX-License-Identifier: MPL-2.0 WITH AdditionRef-Progmasoft-Exception-2.0 + +name: CI + +on: + pull_request: + push: + branches: + - main + +permissions: + contents: read + +concurrency: + group: ci-${{ github.ref }} + cancel-in-progress: true + +jobs: + check: + name: Gradle check (${{ matrix.os }}) + runs-on: ${{ matrix.os }} + timeout-minutes: 30 + strategy: + fail-fast: false + matrix: + os: [ubuntu-26.04, windows-2025, macos-15] + steps: + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + with: + persist-credentials: false + + - name: Install JDK 25 + uses: actions/setup-java@b6effb05e454b25005698d916606bdc6ffcbf961 # v5.7.0 + with: + distribution: temurin + java-version: "25" + + - name: Set up Gradle + uses: gradle/actions/setup-gradle@3f5f9adaf7d9fecd50b5935e54106014257a94e6 # v6.4.0 + + # Spotless, the Kotlin compiler with warnings as errors, and every test. + - name: Check + shell: bash + run: ./gradlew check installDist --no-daemon + + - name: Run the installed Tazel + shell: bash + run: build/install/tazel/bin/tazel version diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml new file mode 100644 index 0000000..a0e4910 --- /dev/null +++ b/.github/workflows/codeql.yml @@ -0,0 +1,70 @@ +# SPDX-FileCopyrightText: 2026 Progmasoft <support@progmasoft.com> +# SPDX-License-Identifier: MPL-2.0 WITH AdditionRef-Progmasoft-Exception-2.0 + +name: CodeQL + +on: + pull_request: + push: + branches: + - main + schedule: + - cron: '23 4 * * 1' + workflow_dispatch: + +permissions: + contents: read + +concurrency: + group: codeql-${{ github.ref }} + cancel-in-progress: true + +jobs: + analyze: + name: ${{ matrix.language }} + runs-on: ubuntu-26.04 + timeout-minutes: 30 + permissions: + actions: read + contents: read + security-events: write + strategy: + fail-fast: false + matrix: + include: + - language: actions + build_mode: none + - language: java-kotlin + build_mode: manual + steps: + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + with: + persist-credentials: false + + - name: Install JDK 25 + if: matrix.language == 'java-kotlin' + uses: actions/setup-java@b6effb05e454b25005698d916606bdc6ffcbf961 # v5.7.0 + with: + distribution: temurin + java-version: "25" + + - name: Set up Gradle + if: matrix.language == 'java-kotlin' + uses: gradle/actions/setup-gradle@3f5f9adaf7d9fecd50b5935e54106014257a94e6 # v6.4.0 + + - name: Initialize CodeQL + uses: github/codeql-action/init@24c54180a607b1449ed407dd24f251e4e9147c8d # v4.38.3 + with: + languages: ${{ matrix.language }} + build-mode: ${{ matrix.build_mode }} + queries: security-extended + + - name: Build the Kotlin sources for extraction + if: matrix.language == 'java-kotlin' + shell: bash + run: ./gradlew classes testClasses --rerun-tasks --no-build-cache --no-daemon + + - name: Analyze + uses: github/codeql-action/analyze@24c54180a607b1449ed407dd24f251e4e9147c8d # v4.38.3 + with: + category: /language:${{ matrix.language }} diff --git a/.github/workflows/dependency-review.yml b/.github/workflows/dependency-review.yml new file mode 100644 index 0000000..8701cfa --- /dev/null +++ b/.github/workflows/dependency-review.yml @@ -0,0 +1,34 @@ +# SPDX-FileCopyrightText: 2026 Progmasoft <support@progmasoft.com> +# SPDX-License-Identifier: MPL-2.0 WITH AdditionRef-Progmasoft-Exception-2.0 + +name: Dependency Review + +# Looks at the dependencies a pull request adds or changes, and fails when +# one of them has a known vulnerability of high severity or worse. +# Dependabot alerts report what is already there; this holds what comes in. + +on: + pull_request: + +permissions: {} + +concurrency: + group: dependency-review-${{ github.ref }} + cancel-in-progress: true + +jobs: + review: + name: Dependency review + runs-on: ubuntu-latest + timeout-minutes: 10 + permissions: + contents: read + steps: + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + with: + persist-credentials: false + + - name: Review the dependency changes + uses: actions/dependency-review-action@a1d282b36b6f3519aa1f3fc636f609c47dddb294 # v5.0.0 + with: + fail-on-severity: high diff --git a/.github/workflows/zizmor.yml b/.github/workflows/zizmor.yml new file mode 100644 index 0000000..422ff15 --- /dev/null +++ b/.github/workflows/zizmor.yml @@ -0,0 +1,38 @@ +# SPDX-FileCopyrightText: 2026 Progmasoft <support@progmasoft.com> +# SPDX-License-Identifier: MPL-2.0 WITH AdditionRef-Progmasoft-Exception-2.0 + +name: Workflow Security + +# zizmor reads the workflows of this repository for what makes a workflow +# unsafe: a token that is wider than its job needs, text from a pull request +# that reaches a shell, an action that is not pinned. Its findings are +# uploaded to code scanning. + +on: + pull_request: + push: + branches: + - main + +permissions: {} + +concurrency: + group: zizmor-${{ github.ref }} + cancel-in-progress: true + +jobs: + zizmor: + name: zizmor + runs-on: ubuntu-latest + timeout-minutes: 10 + permissions: + actions: read + contents: read + security-events: write + steps: + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + with: + persist-credentials: false + + - name: Audit the workflows + uses: zizmorcore/zizmor-action@cc914d7f3750a2d13d75c7f184a1060aa0e9d482 # v0.6.4 |