mirror of
https://github.com/kubernetes-sigs/kustomize.git
synced 2026-06-10 08:20:59 +00:00
Three builders.
This commit is contained in:
@@ -70,8 +70,19 @@ require sigs.k8s.io/kustomize/v4 v4.0.1
|
||||
|
||||
#### Release artifacts
|
||||
|
||||
Source code tar balls and zip files (no executables)
|
||||
appear on the [release page].
|
||||
Release notes should appear on the [release page].
|
||||
|
||||
[release notes generator]: https://github.com/kubernetes-sigs/controller-runtime/blob/master/hack/release/release-notes.sh
|
||||
|
||||
> TODO: install a decent library [release notes generator].
|
||||
> Until then, just run something like
|
||||
> ```
|
||||
> git log --pretty="%h - %s (%aN)" v3.1.0..v3.2.0
|
||||
> ```
|
||||
> and summarize the results via the [release page] UX.
|
||||
|
||||
There's no binary, just a repo tag in the form `v4.3.2`
|
||||
that others can `require` from their `go.mod` files.
|
||||
|
||||
### sigs.k8s.io/kustomize/pluginator
|
||||
|
||||
@@ -190,7 +201,7 @@ fi
|
||||
Install [`cloud-build-local`], then run
|
||||
|
||||
```
|
||||
./releasing/localbuild.sh
|
||||
./releasing/localbuild.sh (kustomize|pluginator)
|
||||
```
|
||||
|
||||
This should create release artifacts in a local directory.
|
||||
|
||||
@@ -2,14 +2,85 @@
|
||||
set -e
|
||||
set -x
|
||||
|
||||
# goreleaser must be run from the _module_ being released.
|
||||
cd kustomize
|
||||
# Script to run http://goreleaser.com
|
||||
|
||||
/bin/goreleaser \
|
||||
release \
|
||||
--config=../releasing/goreleaser.yaml \
|
||||
--rm-dist \
|
||||
--skip-validate \
|
||||
$@
|
||||
module=$1
|
||||
shift
|
||||
|
||||
if [ "$module" == "api" ]; then
|
||||
echo "goreleaser only releases 'main' packages (executables)"
|
||||
echo "See https://github.com/goreleaser/goreleaser/issues/981"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
config=$(mktemp)
|
||||
|
||||
cat <<EOF >$config
|
||||
project_name: $module
|
||||
env:
|
||||
- CGO_ENABLED=0
|
||||
- GO111MODULE=on
|
||||
checksum:
|
||||
name_template: 'checksums.txt'
|
||||
changelog:
|
||||
sort: asc
|
||||
filters:
|
||||
exclude:
|
||||
- '^docs:'
|
||||
- '^test:'
|
||||
- Merge pull request
|
||||
- Merge branch
|
||||
release:
|
||||
github:
|
||||
owner: kubernetes-sigs
|
||||
name: kustomize
|
||||
EOF
|
||||
|
||||
case "$module" in
|
||||
kustomize)
|
||||
cat <<EOF >>$config
|
||||
builds:
|
||||
- main: ./main.go
|
||||
binary: kustomize
|
||||
ldflags: -s -X sigs.k8s.io/kustomize/kustomize/v3/provenance.version={{.Version}} -X sigs.k8s.io/kustomize/kustomize/v3/provenance.gitCommit={{.Commit}} -X sigs.k8s.io/kustomize/kustomize/v3/provenance.buildDate={{.Date}}
|
||||
goos:
|
||||
- linux
|
||||
- darwin
|
||||
- windows
|
||||
goarch:
|
||||
- amd64
|
||||
archive:
|
||||
format: binary
|
||||
EOF
|
||||
;;
|
||||
pluginator)
|
||||
cat <<EOF >>$config
|
||||
builds:
|
||||
- main: ./main.go
|
||||
binary: pluginator
|
||||
goos:
|
||||
- linux
|
||||
- darwin
|
||||
- windows
|
||||
goarch:
|
||||
- amd64
|
||||
archive:
|
||||
format: binary
|
||||
EOF
|
||||
;;
|
||||
*)
|
||||
echo "Don't recognize module $module"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
cat $config
|
||||
|
||||
if [ "$module" != "api" ]; then
|
||||
# goreleaser must be run from the _module_ being released.
|
||||
cd $module
|
||||
fi
|
||||
|
||||
/bin/goreleaser release --config=$config --rm-dist --skip-validate $@
|
||||
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ steps:
|
||||
args: [fetch, --tags, --depth=100]
|
||||
- name: goreleaser/goreleaser
|
||||
entrypoint: /bin/sh
|
||||
args: ["releasing/cloudbuild.sh"]
|
||||
args: ["releasing/cloudbuild.sh", "kustomize"]
|
||||
secretEnv: ['GITHUB_TOKEN']
|
||||
secrets:
|
||||
- kmsKeyName: projects/kustomize-199618/locations/global/keyRings/github-tokens/cryptoKeys/gh-release-token
|
||||
11
releasing/cloudbuild_pluginator.yaml
Normal file
11
releasing/cloudbuild_pluginator.yaml
Normal file
@@ -0,0 +1,11 @@
|
||||
steps:
|
||||
- name: "gcr.io/cloud-builders/git"
|
||||
args: [fetch, --tags, --depth=100]
|
||||
- name: goreleaser/goreleaser
|
||||
entrypoint: /bin/sh
|
||||
args: ["releasing/cloudbuild.sh", "pluginator"]
|
||||
secretEnv: ['GITHUB_TOKEN']
|
||||
secrets:
|
||||
- kmsKeyName: projects/kustomize-199618/locations/global/keyRings/github-tokens/cryptoKeys/gh-release-token
|
||||
secretEnv:
|
||||
GITHUB_TOKEN: CiQAyrREbPgXJOeT7M3t+WlxkhXwlMPudixBeiyWTjmLOMLqdK4SUQA0W+xUmDJKAhyfHCcwqSEzUn9OwKC7XAYcmwe0CCKTCbPbDgmioDK24q3LVapndXNvnnHvCjhOJNEr1o+P1DCF+LlzYV2YL8lP09rrKrslPg==
|
||||
@@ -1,38 +0,0 @@
|
||||
# Documentation at http://goreleaser.com
|
||||
# By default, output sent to ./dist (see docs).
|
||||
#
|
||||
# 2019-may-29: windows removed because of error
|
||||
# pkg/plugins/execplugin.go:111:2: undefined: syscall.Mkfifo
|
||||
#
|
||||
project_name: kustomize
|
||||
builds:
|
||||
- main: ./main.go
|
||||
binary: kustomize
|
||||
ldflags: -s -X sigs.k8s.io/kustomize/kustomize/v3/provenance.version={{.Version}} -X sigs.k8s.io/kustomize/kustomize/v3/provenance.gitCommit={{.Commit}} -X sigs.k8s.io/kustomize/kustomize/v3/provenance.buildDate={{.Date}}
|
||||
goos:
|
||||
- linux
|
||||
- darwin
|
||||
- windows
|
||||
goarch:
|
||||
- amd64
|
||||
env:
|
||||
- CGO_ENABLED=0
|
||||
- GO111MODULE=on
|
||||
checksum:
|
||||
name_template: 'checksums.txt'
|
||||
archive:
|
||||
format: binary
|
||||
snapshot:
|
||||
name_template: "master"
|
||||
changelog:
|
||||
sort: asc
|
||||
filters:
|
||||
exclude:
|
||||
- '^docs:'
|
||||
- '^test:'
|
||||
- Merge pull request
|
||||
- Merge branch
|
||||
release:
|
||||
github:
|
||||
owner: kubernetes-sigs
|
||||
name: kustomize
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
# Usage - from the repository root, enter
|
||||
#
|
||||
# ./releasing/localbuild.sh
|
||||
# ./releasing/localbuild.sh (kustomize|pluginator)
|
||||
#
|
||||
# The script attempts to use cloudbuild configuration
|
||||
# to create a release "locally".
|
||||
@@ -17,25 +17,53 @@
|
||||
# applied to the kustomize repo, the cloud builder
|
||||
# reads the repository-relative file
|
||||
#
|
||||
# releasing/cloudbuild.yaml
|
||||
# releasing/cloudbuild_(kustomize|pluginator).yaml
|
||||
#
|
||||
# Inside this yaml file is a reference to the script
|
||||
#
|
||||
# releasing/cloudbuild.sh
|
||||
#
|
||||
# which runs goreleaser from the proper directory.
|
||||
# which runs goreleaser from the proper directory, with the
|
||||
# proper config.
|
||||
#
|
||||
# The script you are reading now does something
|
||||
# analogous via docker tricks.
|
||||
|
||||
set -e
|
||||
|
||||
# Modify cloudbuild.yaml to add the --snapshot flag.
|
||||
# This suppresses the github release, and leaves
|
||||
# the build output in the kustomize/dist directory.
|
||||
module=$1
|
||||
case "$module" in
|
||||
api)
|
||||
echo "goreleaser only releases 'main' packages (executables)"
|
||||
echo "See https://github.com/goreleaser/goreleaser/issues/981"
|
||||
exit 1
|
||||
;;
|
||||
kustomize)
|
||||
;;
|
||||
pluginator)
|
||||
;;
|
||||
*)
|
||||
echo "Don't recognize module=$module"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
config=$(mktemp)
|
||||
sed 's|\["releasing/cloudbuild.sh"\]|["releasing/cloudbuild.sh", "--snapshot"]|' \
|
||||
releasing/cloudbuild.yaml > $config
|
||||
cp releasing/cloudbuild_${module}.yaml $config
|
||||
|
||||
# Delete the cloud-builders/git step.
|
||||
sed -i '2,3d' $config
|
||||
|
||||
# Add the --snapshot flag to suppress the
|
||||
# github release and leave the build output
|
||||
# in the kustomize/dist directory.
|
||||
sed -i 's|"\]$|", "--snapshot"]|' \
|
||||
$config
|
||||
|
||||
echo "Executing cloud-build-local with:"
|
||||
echo "========================="
|
||||
cat $config
|
||||
echo "========================="
|
||||
|
||||
cloud-build-local \
|
||||
--config=$config \
|
||||
@@ -43,7 +71,8 @@ cloud-build-local \
|
||||
--dryrun=false \
|
||||
.
|
||||
|
||||
# Print results of local build
|
||||
echo " "
|
||||
echo "Result of local build:"
|
||||
echo "##########################################"
|
||||
tree ./kustomize/dist
|
||||
echo "##########################################"
|
||||
|
||||
Reference in New Issue
Block a user