Read-only mirrors. Development, issues and pull requests are on GitHub.

summaryrefslogtreecommitdiffhomepage
path: root/.github/workflows
diff options
context:
space:
mode:
authorLeitwolf112026-11-12 07:31:31 +0300
committerLeitwolf112026-11-12 07:31:31 +0300
commitf7545228848e250856b9cdf2cf92538dfda0eb4f (patch)
treee5ac0c1cc0ca8cf1225169d02112c7861cce4979 /.github/workflows
downloadtazel-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.yml49
-rw-r--r--.github/workflows/codeql.yml70
-rw-r--r--.github/workflows/dependency-review.yml34
-rw-r--r--.github/workflows/zizmor.yml38
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