Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update 1.0 branch for 1.0.3 release #955

Closed
wants to merge 88 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
88 commits
Select commit Hold shift + click to select a range
6eeb346
conversion: add platform conversions
cyphar Jul 16, 2017
046b392
validate: add '\n'
Sep 6, 2017
f767d2a
travis: use Go 1.9
AkihiroSuda Nov 16, 2017
d98c0ae
clarification about nested index
AkihiroSuda Aug 3, 2017
f09b366
Rebuild schema/fs.go.
mtrmac Jan 9, 2018
dc668e0
descriptor: fix link
francescomari Jan 15, 2018
8ebe772
Make JSON schema available for verification under https:// URIs
mtrmac Jan 10, 2018
70d69c5
Fix duplicate "id" values in JSON schema
mtrmac Sep 17, 2018
a10533e
Run (make schema/fs.go) to make the previous commit effective
mtrmac Sep 17, 2018
f8c2f39
Bump Go versions
HaraldNordgren Oct 28, 2018
9335aad
Makefile: variable cleanup and creation
vbatts Dec 18, 2018
fd02b79
Fix table header grammar in annotations
unasuke Dec 24, 2018
930960d
Update MAINTAINERS emails
caniszczyk Jan 20, 2019
efeb6e4
Unknown descriptor mediatypes MUST be ignored
jzelinskie Feb 5, 2019
36230c1
updating link to code of conduct in org repository
vsoch Feb 26, 2019
39d36cb
fixing code of conduct link
vsoch Feb 27, 2019
57a8aec
Edit mail address of @xiekeyang
xiekeyang Mar 6, 2019
908f14c
MAINTAINERS: fix the fix
vbatts Mar 13, 2019
8fbc2fe
Fix linting error
odinuge Jun 14, 2019
9e25467
Run tests with go 1.12
odinuge Jun 14, 2019
b902371
media-types: Define layer media types suffix '+zstd'
giuseppe Aug 21, 2019
28a0a87
Reference "org" repo for meeting info
estesp Jul 17, 2019
28ad867
README.md: return to one-sentence-per-line format
jonboulle Aug 21, 2019
a0f41f3
zstd: add constants to specs-go/v1
vrothberg Aug 23, 2019
ed3bc48
mediatype of layers should be application/vnd.oci.image.layer.v1.tar+…
vsoch Nov 6, 2019
7f8ccb1
MAINTAINERS: remove Brandon Philips @philips
philips Feb 6, 2020
a28a18a
Remove go4.org dependency
zhsj Mar 23, 2020
541b9c4
fixed typo in image-layout
Iduoad Nov 16, 2020
78b304d
pandoc: point to a joint OCI org image
vbatts Dec 7, 2020
7cb369b
Replace Jason B with Jon J in image-spec maintainers
estesp Mar 25, 2021
6ed0171
Update vbatts email address in MAINTAINERS
imjasonh Mar 26, 2021
96026a1
MAINTAINERS: update jonboulle email address
jonboulle May 3, 2021
6efa561
Remove Keyang Xie as a maintainer
caniszczyk May 5, 2021
5479df1
Add standard base image annotations
imjasonh Feb 18, 2021
0392094
Create EMERITUS.md to recognize old maintainers
caniszczyk May 8, 2021
ba23dff
adding github workflow to render docs and lint
vsoch Apr 30, 2021
d46e100
Makefile: switch to the new OCI container image
vbatts Apr 30, 2021
470541b
Fix typo
jonjohnsonjr Jun 16, 2021
cd1dd98
Removing Link Introduction
vsoch Jun 18, 2021
467e67f
Describe how index manifests should work with base image annotations
imjasonh Jun 30, 2021
de0acf6
CODEOWNERS: switching from pullapprove to github builtin
vbatts Jun 30, 2021
f80228f
image.base.ref.name -> image.base.name based on stevvooe's feedback
imjasonh Jul 1, 2021
9c90728
Add background to png images
lucianoqueiroz Jul 7, 2021
bef9980
Drop link to OCI scope table
AidanDelaney Mar 1, 2021
ce6501a
pullapprove: remove defunct config
vbatts Jul 9, 2021
4dd11f3
expected type/subtype test for descriptors should have comment that r…
vsoch Nov 6, 2019
908f9e6
Add CPU variant to image config
May 6, 2019
e8d6a34
Add go.mod and pin dependencies
ashokponkumar Oct 1, 2020
df34673
Define the data field
jonjohnsonjr Mar 12, 2021
ab9700d
Add Embedded Data section
jonjohnsonjr Mar 17, 2021
3c028ee
Add note about portability concerns
jonjohnsonjr Mar 18, 2021
a754011
Expand godoc for Data
jonjohnsonjr Mar 18, 2021
a1f010c
Implementations MUST NOT populate data arbitrarily
jonjohnsonjr Apr 6, 2021
574f93d
Clean up portability considerations
jonjohnsonjr May 20, 2021
e66224d
Use registry.example.com as example default registry
imjasonh Jul 12, 2021
f32720f
Embedded other platform fields in image spec
cpuguy83 Sep 30, 2020
f6f47b8
Scope data verification to content consumers
jonjohnsonjr Aug 10, 2021
125b74e
media-types.md: clarify differences from Docker media types
AkihiroSuda Dec 23, 2020
971af5c
Fix very minor oversight in config example
jpetazzo Oct 13, 2021
5111f2c
Minor spelling correction
wyckster Oct 9, 2021
543351e
Reflect docker dontation of distribution to CNCF
SteveLasker Oct 27, 2021
708fd9b
Adding ACR to implementations
SteveLasker Oct 27, 2021
1e98be7
media-types: `.mediaType` is available in both OCI and Docker
vbatts Oct 28, 2021
697697f
github: bring forward the versions of golang tested/built with
vbatts Nov 24, 2021
038579f
Makefile: stale installation of glide was failing
vbatts Nov 24, 2021
fa8c02c
Remove unneeded docker pull of pandoc image
jdolitsky Dec 2, 2021
0b3406a
go: have the go.mod at top-level
vbatts Dec 2, 2021
b4244ed
*: switch to golangci-lint
vbatts Dec 2, 2021
c0a171c
schema, specs-go: fix lint errors
stevvooe Dec 2, 2021
e1f562f
.tool: remove lint tool, call linter directly
stevvooe Dec 2, 2021
5ebf4ca
schema: use Go's embed package instead of esc
stevvooe Dec 2, 2021
fee13fc
README.md: Remove link to OCI scope table
sanshirookazaki Dec 15, 2021
0de10a1
Handle multiple matching index entries
sudo-bmitch Nov 30, 2021
1942942
implementations: adding the C and Rust libraries
vbatts Feb 16, 2022
043e056
implementations: point to krustlet/oci-distribution
vbatts Feb 24, 2022
9dbb654
Fixing charter link
sudo-bmitch Feb 25, 2022
c84fb83
Add mediaType fields into example manifest & image index JSON references
michaelb990 Mar 3, 2022
ef80153
Move inactive maintainers to emeritus
jdolitsky Apr 29, 2022
63f7613
Add Sajay as maintainer
jdolitsky May 4, 2022
133d99b
Update URLs to https
sudo-bmitch May 9, 2022
7e938c1
Add Brandon as maintainer
jdolitsky Apr 29, 2022
12a895c
Pinning version of golangci-lint to support 1.16
sudo-bmitch May 10, 2022
3692b98
Add maintainer nomination template
nishakm May 16, 2022
7a5c1f2
Add regclient to implementations
sudo-bmitch Jul 24, 2022
e39541a
Update schema for mediaType validation (#933)
sajayantony Aug 25, 2022
019e2cc
Remove io/ioutil references
austinvazquez Aug 29, 2022
b352bf8
Bump from Go 1.16 to 1.17
sudo-bmitch Sep 9, 2022
e90fb70
Use go install and full path to commands
sudo-bmitch Sep 9, 2022
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
21 changes: 21 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE/maintainer_nomination.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Nomination for a New Maintainer

## Nominating Maintainer

Name of the existing OCI maintainer with GitHub username

## New Maintainer

Name of the new maintainer with GitHub username

## Justification

Highlight any work contributed by the new maintainer. Examples of contributions may be:
- Community involvement in mailing lists and meetings
- Involvement in any OCI working groups
- Contributions to any of the OCI git repositories

Other considerations may be:
- Diversity of organizations
- Time involved in the community
- Personal experience working with the new maintainer
45 changes: 45 additions & 0 deletions .github/workflows/docs-and-linting.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
name: Render and Lint Documentation

on:
pull_request:
branches_ignore: []

jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
go: ['1.17', '1.18', '1.19']

name: Documentation and Linting
steps:

- uses: actions/checkout@v3
with:
path: go/src/github.com/opencontainers/image-spec

- uses: actions/setup-go@v3
with:
go-version: ${{ matrix.go }}

- name: Render and Lint
env:
GOPATH: /home/runner/work/image-spec/image-spec/go
run: |
export PATH=$GOPATH/bin:$PATH
cd go/src/github.com/opencontainers/image-spec
make install.tools
go get -t -d ./...
ls ../
make
make .gitvalidation
make lint
make check-license
make test
make docs

- name: documentation artifacts
uses: actions/upload-artifact@v3
with:
name: oci-docs
path: go/src/github.com/opencontainers/image-spec/output
26 changes: 26 additions & 0 deletions .golangci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
run:
timeout: 10m

linters:
disable-all: true
enable:
- deadcode
- dupl
- gofmt
- goimports
- gosimple
- govet
- ineffassign
- misspell
- nakedret
- revive
- structcheck
- unused
- varcheck
- staticcheck

linters-settings:
gofmt:
simplify: true
dupl:
threshold: 400
27 changes: 0 additions & 27 deletions .pullapprove.yml

This file was deleted.

24 changes: 0 additions & 24 deletions .tool/lint

This file was deleted.

28 changes: 0 additions & 28 deletions .travis.yml

This file was deleted.

1 change: 1 addition & 0 deletions CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* @jonjohnsonjr @jonboulle @sajayantony @stevvooe @sudo-bmitch @vbatts @cyphar
9 changes: 9 additions & 0 deletions EMERITUS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
We would like to acknowledge previous OCI image spec maintainers and their huge contributions to our collective success:

* Brandon Philips (@philips)
* Brendan Burns (@brendandburns)
* Jason Bouzane (@jbouzane)
* John Starks (@jstarks)
* Keyang Xie (@xiekeyang)

We thank these members for their service to the OCI community.
2 changes: 1 addition & 1 deletion GOVERNANCE.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,4 +67,4 @@ For example:

> [runtime-spec adopted]: Tag 0647920 as 1.0.0-rc (+6 -0 #3)

[charter]: https://www.opencontainers.org/about/governance
[charter]: https://github.com/opencontainers/tob/blob/main/CHARTER.md
2 changes: 1 addition & 1 deletion HACKING.md
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ $ make clean
This target generates PNG image files from DOT source files in the `img` directory.

Prerequisites:
* [graphviz](http://www.graphviz.org/)
* [graphviz](https://www.graphviz.org/)

Invocation:
```
Expand Down
14 changes: 6 additions & 8 deletions MAINTAINERS
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
Brandon Philips <[email protected]> (@philips)
Brendan Burns <[email protected]> (@brendandburns)
Jason Bouzane <[email protected]> (@jbouzane)
John Starks <[email protected]> (@jstarks)
Jonathan Boulle <[email protected]> (@jonboulle)
Stephen Day <[email protected]> (@stevvooe)
Vincent Batts <[email protected]> (@vbatts)
Brandon Mitchell <[email protected]> (@sudo-bmitch)
Jon Johnson <[email protected]> (@jonjohnsonjr)
Jonathan Boulle <[email protected]> (@jonboulle)
Sajay Antony <[email protected]> (@sajayantony)
Stephen Day <[email protected]> (@stevvooe)
Vincent Batts <[email protected]> (@vbatts)
Aleksa Sarai <[email protected]> (@cyphar)
Keyang Xie <[email protected]> (@xiekeyang)
60 changes: 25 additions & 35 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,19 +1,23 @@
GO15VENDOREXPERIMENT=1
export GO15VENDOREXPERIMENT
EPOCH_TEST_COMMIT ?= v0.2.0

DOCKER ?= $(shell command -v docker 2>/dev/null)
PANDOC ?= $(shell command -v pandoc 2>/dev/null)

GOPATH:=$(shell go env GOPATH)

OUTPUT_DIRNAME ?= output
DOC_FILENAME ?= oci-image-spec

PANDOC_CONTAINER ?= ghcr.io/opencontainers/pandoc:2.9.2.1-8.fc33.x86_64@sha256:5d81ff930a043295a557be8b003ece2a33d14e91b28c50d368413b83372f8d28
ifeq "$(strip $(PANDOC))" ''
ifneq "$(strip $(DOCKER))" ''
PANDOC = $(DOCKER) run \
-it \
--rm \
-v $(shell pwd)/:/input/:ro \
-v $(shell pwd)/$(OUTPUT_DIRNAME)/:/$(OUTPUT_DIRNAME)/ \
-u $(shell id -u) \
--workdir /input \
docker.io/vbatts/pandoc:1.17.0.3-2.fc25.x86_64
$(PANDOC_CONTAINER)
PANDOC_SRC := /input/
PANDOC_DST := /
endif
Expand All @@ -37,12 +41,7 @@ DOC_FILES := \
FIGURE_FILES := \
img/media-types.png

OUTPUT_DIRNAME ?= output/
DOC_FILENAME ?= oci-image-spec

EPOCH_TEST_COMMIT ?= v0.2.0

TOOLS := esc gitvalidation glide glide-vc
TOOLS := esc gitvalidation

default: check-license lint test

Expand All @@ -52,7 +51,6 @@ help:
@echo " * 'docs' - produce document in the $(OUTPUT_DIRNAME) directory"
@echo " * 'fmt' - format the json with indentation"
@echo " * 'validate-examples' - validate the examples in the specification markdown files"
@echo " * 'schema-fs' - regenerate the virtual schema http/FileSystem"
@echo " * 'check-license' - check license headers in source files"
@echo " * 'lint' - Execute the source code linter"
@echo " * 'test' - Execute the unit tests"
Expand All @@ -69,35 +67,29 @@ $(OUTPUT_DIRNAME)/$(DOC_FILENAME).pdf: $(DOC_FILES) $(FIGURE_FILES)
else
$(OUTPUT_DIRNAME)/$(DOC_FILENAME).pdf: $(DOC_FILES) $(FIGURE_FILES)
@mkdir -p $(OUTPUT_DIRNAME)/ && \
$(PANDOC) -f markdown_github -t latex --latex-engine=xelatex -o $(PANDOC_DST)$@ $(patsubst %,$(PANDOC_SRC)%,$(DOC_FILES))
$(PANDOC) -f gfm -t latex --pdf-engine=xelatex -V geometry:margin=0.5in,bottom=0.8in -V block-headings -o $(PANDOC_DST)$@ $(patsubst %,$(PANDOC_SRC)%,$(DOC_FILES))
ls -sh $(realpath $@)

$(OUTPUT_DIRNAME)/$(DOC_FILENAME).html: header.html $(DOC_FILES) $(FIGURE_FILES)
@mkdir -p $(OUTPUT_DIRNAME)/ && \
cp -ap img/ $(shell pwd)/$(OUTPUT_DIRNAME)/&& \
$(PANDOC) -f markdown_github -t html5 -H $(PANDOC_SRC)header.html --standalone -o $(PANDOC_DST)$@ $(patsubst %,$(PANDOC_SRC)%,$(DOC_FILES))
$(PANDOC) -f gfm -t html5 -H $(PANDOC_SRC)header.html --standalone -o $(PANDOC_DST)$@ $(patsubst %,$(PANDOC_SRC)%,$(DOC_FILES))
ls -sh $(realpath $@)
endif

header.html: .tool/genheader.go specs-go/version.go
go run .tool/genheader.go > $@

validate-examples: schema/fs.go
validate-examples: schema/schema.go
go test -run TestValidate ./schema

schema/fs.go: $(wildcard schema/*.json) schema/gen.go
cd schema && printf "%s\n\n%s\n" "$$(cat ../.header)" "$$(go generate)" > fs.go

schema-fs: schema/fs.go
@echo "generating schema fs"

check-license:
@echo "checking license headers"
@./.tool/check-license

lint:
lint: .install.lint
@echo "checking lint"
@./.tool/lint
@GO111MODULE=on $(GOPATH)/bin/golangci-lint run

test: schema/fs.go
go test -race -cover $(shell go list ./... | grep -v /vendor/)
Expand All @@ -106,28 +98,26 @@ img/%.png: img/%.dot
dot -Tpng $^ > $@


# When this is running in travis, it will only check the travis commit range
# When this is running in GitHub, it will only check the commit range
.gitvalidation:
@which git-validation > /dev/null 2>/dev/null || (echo "ERROR: git-validation not found. Consider 'make install.tools' target" && false)
ifdef TRAVIS_COMMIT_RANGE
git-validation -q -run DCO,short-subject,dangling-whitespace
ifdef GITHUB_SHA
$(GOPATH)/bin/git-validation -q -run DCO,short-subject,dangling-whitespace -range $(GITHUB_SHA)..HEAD
else
git-validation -v -run DCO,short-subject,dangling-whitespace -range $(EPOCH_TEST_COMMIT)..HEAD
$(GOPATH)/bin/git-validation -v -run DCO,short-subject,dangling-whitespace -range $(EPOCH_TEST_COMMIT)..HEAD
endif

install.tools: $(TOOLS:%=.install.%)

.install.esc:
go get -u github.com/mjibson/esc
.install.lint:
case "$$(go env GOVERSION)" in \
go1.17.*) go install github.com/golangci/golangci-lint/cmd/[email protected];; \
go1.18.*) go install github.com/golangci/golangci-lint/cmd/[email protected];; \
*) go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest;; \
esac

.install.gitvalidation:
go get -u github.com/vbatts/git-validation

.install.glide:
go get -u github.com/Masterminds/glide

.install.glide-vc:
go get -u github.com/sgotti/glide-vc
go install github.com/vbatts/git-validation@latest

clean:
rm -rf *~ $(OUTPUT_DIRNAME) header.html
Expand Down
Loading