diff --git a/.github/actions/smoke-test/action.yaml b/.github/actions/smoke-test/action.yaml index 5f98ba8..fa9fbc8 100644 --- a/.github/actions/smoke-test/action.yaml +++ b/.github/actions/smoke-test/action.yaml @@ -9,7 +9,7 @@ runs: steps: - name: Checkout main id: checkout_release - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Build template id: build_template diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 36c2fb3..d663a7f 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -7,7 +7,7 @@ jobs: if: ${{ github.ref == 'refs/heads/main' }} runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: "Publish Templates" uses: devcontainers/action@v1 diff --git a/.github/workflows/test-pr.yaml b/.github/workflows/test-pr.yaml index 138ac5b..4a20fd2 100644 --- a/.github/workflows/test-pr.yaml +++ b/.github/workflows/test-pr.yaml @@ -8,7 +8,7 @@ jobs: outputs: templates: ${{ steps.filter.outputs.changes }} steps: - - uses: dorny/paths-filter@v2 + - uses: dorny/paths-filter@v3 id: filter with: filters: | @@ -24,7 +24,7 @@ jobs: matrix: templates: ${{ fromJSON(needs.detect-changes.outputs.templates) }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Smoke test for '${{ matrix.templates }}' id: smoke_test diff --git a/README.md b/README.md index 974ac6d..b4b4db7 100644 --- a/README.md +++ b/README.md @@ -1,20 +1,19 @@ -# Dev Container Templates: Self Authoring Guide +# Clojure SciCloj Dev Container Templates: + +> This repo provides a starting point and example for creating Clojure custom [Dev Container Templates](https://containers.dev/implementors/templates), hosted for free on SciCloj GitHub Container Registry. -> This repo provides a starting point and example for creating your own custom [Dev Container Templates](https://containers.dev/implementors/templates), hosted for free on GitHub Container Registry. The example in this repository follows the [Dev Container Template distribution specification](https://containers.dev/implementors/templates-distribution/). -> -> To provide feedback on the distribution spec, please leave a comment [on spec issue #71](https://github.com/devcontainers/spec/issues/71). ## Repo and Template Structure -This repository contains a _collection_ of two Templates - `hello` and `color`. These Templates serve as simple template implementations which helps containerize the project. Similar to the [`devcontainers/templates`](https://github.com/devcontainers/templates) repo, this repository has a `src` folder. Each Template has its own sub-folder, containing at least a `devcontainer-template.json` and `.devcontainer/devcontainer.json`. +This repository contains a _collection_ of Templates. These Templates serve as simple template implementations which helps containerize the local development environment and package projects. Similar to the [`devcontainers/templates`](https://github.com/devcontainers/templates) repo, this repository has a `src` folder. Each Template has its own sub-folder, containing at least a `devcontainer-template.json` and `.devcontainer/devcontainer.json`. ``` ├── src -│ ├── color +│ ├── basecloj │ │ ├── devcontainer-template.json │ │ └──| .devcontainer │ │ └── devcontainer.json -│ ├── hello +│ ├── scicloj │ │ ├── devcontainer-template.json │ │ └──| .devcontainer │ │ ├── devcontainer.json @@ -24,77 +23,33 @@ This repository contains a _collection_ of two Templates - `hello` and `color`. │ │ └──| .devcontainer │ │ └── devcontainer.json ├── test -│ ├── color +│ ├── basecloj │ │ └── test.sh -│ ├── hello +│ ├── scicloj │ │ └── test.sh │ └──test-utils │ └── test-utils.sh ... ``` -### Options - -All available options for a Template should be declared in the `devcontainer-template.json`. The syntax for the `options` property can be found in the [devcontainer Template json properties reference](https://containers.dev/implementors/templates#devcontainer-templatejson-properties). - -For example, the `color` Template provides three possible options (`red`, `gold`, `green`), where the default value is set to "red". - -```jsonc -{ - // ... - "options": { - "favorite": { - "type": "string", - "description": "Choose your favorite color." - "proposals": [ - "red", - "gold", - "green" - ], - "default": "red" - } - } -} -``` - -An [implementing tool](https://containers.dev/supporting#tools) will use the `options` property from [the documented Dev Container Template properties](https://containers.dev/implementors/templates#devcontainer-templatejson-properties) for customizing the Template. See [option resolution example](https://containers.dev/implementors/templates#option-resolution-example) for details. - ## Distributing Templates -**Note**: *Allow GitHub Actions to create and approve pull requests* should be enabled in the repository's `Settings > Actions > General > Workflow permissions` for auto generation of `src/