diff options
| author | Mehmet Samet Duman <yongdohyun@projecttick.org> | 2026-04-02 19:30:47 +0300 |
|---|---|---|
| committer | Mehmet Samet Duman <yongdohyun@projecttick.org> | 2026-04-02 19:31:15 +0300 |
| commit | b1e34e861b5d732afe828d58aad2c638135061fd (patch) | |
| tree | 6ab65910221ff147b1fdc49299418d8af04d0a7b /.github/actions/uvim/test_artifacts/action.yml | |
| parent | c965a4ebddf98c368edd905324a4ecd79b2aae55 (diff) | |
| download | Project-Tick-b1e34e861b5d732afe828d58aad2c638135061fd.tar.gz Project-Tick-b1e34e861b5d732afe828d58aad2c638135061fd.zip | |
NOISSUE Add GitHub workflows for Project Tick project
- Create CodeQL analysis workflow for security checks on meshmc codebase.
- Add container build workflow for meshmc using Podman and Buildah.
- Implement scheduled flake update workflow for Nix dependencies.
- Introduce merge blocking PR automation to manage dependent PRs.
- Set up Nix build workflow for meshmc with multi-platform support.
- Add release workflow for publishing MeshMC artifacts on GitHub.
- Create CI workflow for tomlplusplus library with multi-compiler support.
- Implement CI workflow for uvim with various feature sets and architectures.
- Add .gitignore to exclude build artifacts and IDE files.
- Create .gitattributes files for various submodules to manage line endings and diff settings.
- Add post-receive hook for mirroring pushes to multiple forges.
- Include .gitignore files for images4docker and other submodules to manage temporary files.
Signed-off-by: Mehmet Samet Duman <yongdohyun@projecttick.org>
Diffstat (limited to '.github/actions/uvim/test_artifacts/action.yml')
| -rw-r--r-- | .github/actions/uvim/test_artifacts/action.yml | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/.github/actions/uvim/test_artifacts/action.yml b/.github/actions/uvim/test_artifacts/action.yml new file mode 100644 index 0000000000..79d1aa82f6 --- /dev/null +++ b/.github/actions/uvim/test_artifacts/action.yml @@ -0,0 +1,55 @@ +name: 'test_artifacts' +description: "Upload failed test artifacts" +runs: + using: "composite" + steps: + - name: Collect matrix properties for naming + uses: actions/github-script@v8 + id: matrix-props + env: + MATRIX_PROPS: ${{ toJSON(matrix) }} + with: + # An array-flattening-to-string JavaScript function. + script: | + const f = function (x) { return x.toString().length > 0; } + const g = function (x) { + return (Array.isArray(x)) + ? x.filter(f) + .map((function (h) { return function (y) { return h(y); }; })(g)) + .join('-') + : x; + } + return Object.values(JSON.parse(process.env.MATRIX_PROPS)) + .filter(f) + .map(g) + .join('-'); + # By default, the JSON-encoded return value of the function is + # set as the "result". + result-encoding: string + - name: Upload failed tests + uses: actions/upload-artifact@v7 + with: + # Name of the artifact to upload. + name: ${{ format('GH-{0}-{1}-{2}-{3}-{4}-failed-tests', + github.run_id, + github.run_attempt, + github.job, + strategy.job-index, + steps.matrix-props.outputs.result) }} + + # A file, directory or wildcard pattern that describes what + # to upload. + path: | + ${{ github.workspace }}/runtime/indent/testdir/*.fail + ${{ github.workspace }}/runtime/syntax/testdir/failed/* + ${{ github.workspace }}/src/testdir/failed/* + # The desired behavior if no files are found using the + # provided path. + if-no-files-found: ignore + + # Duration after which artifact will expire in days. 0 means + # using repository settings. + retention-days: 0 + + # If true, an artifact with a matching name will be deleted + overwrite: true |
