-
Notifications
You must be signed in to change notification settings - Fork 0
/
action.yml
41 lines (41 loc) · 1.57 KB
/
action.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
name: 'Julia Lint'
description: 'Lint Julia files'
outputs:
lint-results:
value: ${{ steps.lint-step.outputs.lint-results }}
runs:
using: "composite"
steps:
- name: Compute Manifest hash
id: project-hash
shell: pwsh
run: |
$ourHash = Get-FileHash -LiteralPath "$env:GITHUB_ACTION_PATH\Manifest.toml"
"MANIFEST_HASH=$($ourHash.Hash)" | Out-File -FilePath $env:GITHUB_OUTPUT -Append
- name: Check Julia version
shell: bash
id: julia-version
run: |
echo "juliaversion=$(julia -v)" >> $GITHUB_OUTPUT
- uses: actions/cache@v4
id: cache-project
with:
path: ${{ github.action_path }}/.julia
key: julia-lint-cache-${{ runner.os }}-${{ steps.julia-version.outputs.juliaversion }}-${{ steps.project-hash.outputs.MANIFEST_HASH }}
- name: Install and precompile
if: steps.cache-project.outputs.cache-hit != 'true'
run: julia --project=${{ github.action_path }} -e 'import Pkg; Pkg.instantiate()'
shell: bash
env:
JULIA_DEPOT_PATH: ${{ github.action_path }}/.julia
- uses: actions/cache/save@v4
if: steps.cache-project.outputs.cache-hit != 'true'
with:
path: ${{ github.action_path }}/.julia
key: julia-lint-cache-${{ runner.os }}-${{ steps.julia-version.outputs.juliaversion }}-${{ steps.project-hash.outputs.MANIFEST_HASH }}
- name: Lint
id: lint-step
run: julia --project=${{ github.action_path }} ${{ github.action_path }}/main.jl
shell: bash
env:
JULIA_DEPOT_PATH: ${{ github.action_path }}/.julia