Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 1 addition & 10 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,16 +35,7 @@ jobs:

- name: Install Python dependencies
run: |
pip install \
"pillow<10" \
"cairosvg>=2.5" \
"mkdocs-material" \
"mkdocs-material-extensions" \
"mkdocs-git-committers-plugin-2>=1.1.1" \
"mkdocs-git-revision-date-localized-plugin>=1.0" \
"mkdocs-minify-plugin>=0.3" \
"mkdocs-rss-plugin>=1.2" \
"mkdocs-redirects>=1.0"
pip install -r requirements.txt

- name: Build Docs
run: |
Expand Down
38 changes: 38 additions & 0 deletions .github/workflows/commit-msg.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
name: 'Check commit message style'
on:
pull_request:
types:
- opened
- edited
- reopened
- synchronize
push:
branches:
- main

jobs:
check-commit-message-style:
name: Check commit message style
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Check Commit Type
uses: gsactions/commit-message-checker@v2
with:
pattern: '^((build|chore|ci|docs|feat|fix|perf|refactor|revert|style|test)(\(.+\))?(!)?(: (.*\s*)*))'
flags: 'gm'
error: 'Your first line has to the Conventional Commits specification.'
excludeDescription: 'true' # optional: this excludes the description body of a pull request
excludeTitle: 'true' # optional: this excludes the title of a pull request
checkAllCommitMessages: 'true'
accessToken: ${{ secrets.GITHUB_TOKEN }}
- name: Check Line Length
uses: gsactions/commit-message-checker@v2
with:
pattern: '^[^#].{1,74}'
error: 'The maximum line length of 74 characters is exceeded.'
excludeDescription: 'true' # optional: this excludes the description body of a pull request
excludeTitle: 'true' # optional: this excludes the title of a pull request
checkAllCommitMessages: 'true' # optional: this checks all commits associated with a pull request
accessToken: ${{ secrets.GITHUB_TOKEN }} # github access token is only required if checkAllCommitMessages is true
24 changes: 24 additions & 0 deletions .github/workflows/dco.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# .github/workflows/dco.yml
name: DCO
on:
pull_request:
branches:
- main

permissions: read-all

jobs:
check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up Python 3.x
uses: actions/setup-python@v4
with:
python-version: '3.x'
- name: Check DCO
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
pip3 install -U dco-check
dco-check
22 changes: 11 additions & 11 deletions docs/reference/stacker_file.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ available for reference:
run: echo "Your layer is ${STACKER_LAYER_NAME}"
```

#### `from`
### `from`

The `from` directive describes the base image that stacker will start from. It
takes the form:
Expand All @@ -61,7 +61,7 @@ Hub.
`built`: `tag` is required, everything else is ignored. `built` bases this
layer on a previously specified layer in the stacker file.

#### `import`
### `import`

The `import` directive describes what files should be made available in
`/stacker` during the `run` phase. There are three forms of importing supported
Expand Down Expand Up @@ -128,15 +128,15 @@ to be available under container's /usr/local/ and all the files/dirs from the ho
/path/to/directory2 to be available under container's /


#### `environment`, `labels`, `working_dir`, `volumes`, `cmd`, `entrypoint`, `user`
### `environment`, `labels`, `working_dir`, `volumes`, `cmd`, `entrypoint`, `user`

These all correspond exactly to the similarly named bits in the [OCI image
config
spec](https://github.com/opencontainers/image-spec/blob/master/config.md#properties),
and are available for users to pass things through to the runtime environment
of the image.

#### `generate_labels`
### `generate_labels`

The `generate_labels` entry is similar to `run` in that it contains a list of
commands to run inside the generated rootfs. It runs after the `run` section is
Expand All @@ -145,7 +145,7 @@ done, and its mutations to the filesystem are not recorded, except in one case
file, and the name of the file will be the OCI label name, and the content will
be the label content.

#### `build_env` and `build_env_passthrough`
### `build_env` and `build_env_passthrough`

By default, environment variables do not pass through (pollute) the
build environment.
Expand All @@ -164,21 +164,21 @@ https_proxy, ftp_proxy`.

Values in the `build_env` override values passed through via

#### `full_command`
### `full_command`

Because of the odd behavior of `cmd` and `entrypoint` (and the inherited nature
of these from previous stacker layers), `full_command` provides a way to set
the full command that will be executed in the image, clearing out any previous
`cmd` and `entrypoint` values that were set in the image.

#### `build_only`
### `build_only`

`build_only`: indicates whether or not to include this layer in the final OCI
image. This can be useful in conjunction with an import from this layer in
another image, if you want to isolate the build environment for a binary but
not include all of its build dependencies.

#### `binds`
### `binds`

`binds`: specifies bind mounts from the host to the container. There are two formats:

Expand All @@ -193,7 +193,7 @@ Right now there is no awareness of change for any of these bind mounts, so
--no-cache should be used to re-build if the content of the bind mount has
changed.

#### `config`
### `config`

`config` key is a special type of entry in the root in the `stacker.yaml` file.
It cannot contain a layer definition, it is used to provide configuration
Expand All @@ -204,7 +204,7 @@ applicable for building all the layers defined in this file. For example,
- ../folder2/stacker.yaml
- ../folder3/stacker.yaml

##### `prerequisites`
#### `prerequisites`

If the `prerequisites` list is present under the `config` key, stacker will
make sure to build all the layers in the stacker.yaml files found at the paths
Expand All @@ -219,7 +219,7 @@ When `stacker build -f parent/folder1/stacker.yaml` is invoked, stacker would se
for the other two stacker.yaml files and build them first, before building
the stacker.yaml specified in the command line.

##### `annotations`
#### `annotations`

`annotations` is a user-specified key value map that will be included in the
final OCI image. Note that these annotations are included in the image manifest
Expand Down
1 change: 1 addition & 0 deletions material/overrides/home.html
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ <h1>Stacker Build</h1>
<a href="{{ 'user_guide/build_environment' | url }}" title="User Guide" class="md-button">
User Guide
</a>
<h3>Pair this with <a href="https://zotregistry.io">zot</a>, an OCI-native Image Registry</h3>
</div>
</div>
</div>
Expand Down
9 changes: 9 additions & 0 deletions material/overrides/main.html
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
<meta name="twitter:title" content="{{ title }}">
<meta name="twitter:description" content="{{ config.site_description }}">
<meta name="twitter:image" content="{{ image }}">
<meta name="go-import" content="stackerbuild.io/stacker git https://github.com/project-stacker/stacker">
<link rel="stylesheet" href="{{ 'overrides/assets/stylesheets/main.01a7853e.min.css' | url }}">
{% endblock %}
{% block announce %}
Expand Down Expand Up @@ -63,3 +64,11 @@
{{ super() }}
<script src="{{ 'overrides/assets/javascripts/bundle.e5217812.min.js' | url }}"></script>
{% endblock %}
{% block outdated %}
You're not viewing the latest version.
<a href="{{ '../' ~ base_url }}">


<strong>Click here to go to latest.</strong>
</a>
{% endblock %}