diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 6104dd3..db82cb3 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -41,6 +41,21 @@ jobs: CHECK: "true" name: Check that dhall files are formatted run: just format-dhall + dhallFreeze: + name: dhall-freeze + runs-on: ubuntu-latest + steps: + - uses: "actions/checkout@v2" + - name: Install asdf + uses: "asdf-vm/actions/setup@v1.0.0" + - name: Install asdf plugins + run: "./ci/asdf-add-plugins.sh" + - name: Install asdf tool versions and packages + run: "./ci/asdf-install.sh" + - env: + CHECK: "true" + name: Check that dhall files are frozen + run: just freeze-dhall dhallLint: name: dhall-lint runs-on: ubuntu-latest diff --git a/ci/dhall/jobs/dhall-freeze.dhall b/ci/dhall/jobs/dhall-freeze.dhall new file mode 100644 index 0000000..98d0517 --- /dev/null +++ b/ci/dhall/jobs/dhall-freeze.dhall @@ -0,0 +1,19 @@ +let GitHubActions = (../imports.dhall).GitHubActions + +let Setup = ../setup.dhall + +let SetupSteps = Setup.SetupSteps + +let Job = Setup.Job + +in Job::{ + , name = Some "dhall-freeze" + , steps = + SetupSteps + # [ GitHubActions.Step::{ + , name = Some "Check that dhall files are frozen" + , run = Some "just freeze-dhall" + , env = Some (toMap { CHECK = "true" }) + } + ] + } diff --git a/ci/dhall/workflow.dhall b/ci/dhall/workflow.dhall index 09c3598..8f0dbf6 100644 --- a/ci/dhall/workflow.dhall +++ b/ci/dhall/workflow.dhall @@ -12,6 +12,8 @@ let dhallLint = ./jobs/dhall-lint.dhall let dhallCheck = ./jobs/dhall-check.dhall +let dhallFreeze = ./jobs/dhall-freeze.dhall + let prettier = ./jobs/prettier.dhall in GitHubActions.Workflow::{ @@ -23,6 +25,7 @@ in GitHubActions.Workflow::{ , dhallFormat , dhallLint , dhallCheck + , dhallFreeze , checkPipeline , prettier } diff --git a/scripts/dhall-freeze.sh b/scripts/dhall-freeze.sh index 7810802..5234e51 100755 --- a/scripts/dhall-freeze.sh +++ b/scripts/dhall-freeze.sh @@ -29,6 +29,10 @@ function check() { "${file}" ) + if [ "${CHECK:-"false"}" == "true" ]; then + FORMAT_ARGS+=("--check") + fi + result=$(my_chronic "${CHECK_ARGS[@]}" 2>&1) rc=$?