Skip to content

Commit

Permalink
Changes for releasing 1.13 (#2070)
Browse files Browse the repository at this point in the history
* Changes for releasing 1.13

- Changed release version in charts 1.13
- Made changes in release scripts and makefile

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>

* Update helm chart maintainers

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
  • Loading branch information
sanketsudake committed Jun 15, 2021
1 parent 6facdac commit 023a990
Show file tree
Hide file tree
Showing 9 changed files with 316 additions and 542 deletions.
107 changes: 72 additions & 35 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,27 @@ REPO ?= fission
TAG ?= dev
DOCKER_FLAGS ?= --push --progress plain

check: test-run build clean
VERSION ?= master
TIMESTAMP ?= $(shell date -u +'%Y-%m-%dT%H:%M:%SZ')
COMMITSHA ?= $(shell git rev-parse HEAD)

GOOS ?= $(shell go env GOOS)
GOARCH ?= $(shell go env GOARCH)

FISSION-CLI := fission
ifeq ($(GOOS), windows)
FISSION-CLI := $(FISSION-CLI).exe
endif

GO ?= go
GO_LDFLAGS := -X github.com/fission/fission/pkg/info.GitCommit=$(COMMITSHA) $(GO_LDFLAGS)
GO_LDFLAGS := -X github.com/fission/fission/pkg/info.BuildDate=$(TIMESTAMP) $(GO_LDFLAGS)
GO_LDFLAGS := -X github.com/fission/fission/pkg/info.Version=$(VERSION) $(GO_LDFLAGS)
GCFLAGS ?= all=-trimpath=$(CURDIR)
ASMFLAGS ?= all=-trimpath=$(CURDIR)

### Static checks
check: test-run build-fission-cli clean

code-checks:
hack/verify-gofmt.sh
Expand All @@ -34,48 +54,59 @@ test-run: code-checks
hack/runtests.sh
@rm -f coverage.txt

# ensure the changes are buildable
build: build-cli
go build -o cmd/fetcher/fetcher ./cmd/fetcher/
go build -o cmd/fetcher/builder ./cmd/builder/
go build -o cmd/reporter/reporter ./cmd/reporter/

build-cli:
go build -o cmd/fission-cli/fission ./cmd/fission-cli/

install-cli: build-cli
mv cmd/fission-cli/fission /usr/local/bin
### Binaries
fission-cli:
@mkdir -p build/$(GOOS)/$(GOARCH)/$(VERSION)
GOOS=$(GOOS) GOARCH=$(GOARCH) $(GO) build \
-gcflags '$(GCFLAGS)' \
-asmflags '$(ASMFLAGS)' \
-ldflags "$(GO_LDFLAGS)" \
-o build/$(GOOS)/$(GOARCH)/$(VERSION)/$(FISSION-CLI) ./cmd/fission-cli

all-fission-cli:
$(MAKE) fission-cli GOOS=windows GOARCH=amd64
$(MAKE) fission-cli GOOS=linux GOARCH=amd64
$(MAKE) fission-cli GOOS=linux GOARCH=arm
$(MAKE) fission-cli GOOS=linux GOARCH=arm64
$(MAKE) fission-cli GOOS=darwin GOARCH=amd64

install-fission-cli: fission-cli
mv build/$(GOOS)/$(GOARCH)/$(VERSION)/$(FISSION-CLI) /usr/local/bin/

### Container images
FISSION_IMGS := fission-bundle-multiarch-img \
fetcher-multiarch-img \
builder-multiarch-img\
pre-upgrade-checks-multiarch-img \
reporter-multiarch-img

verify-builder:
@./hack/buildx.sh $(PLATFORMS)

# build images (environment images are not included)
image:
docker build -t fission-bundle -f cmd/fission-bundle/Dockerfile.fission-bundle .
docker build -t fetcher -f cmd/fetcher/Dockerfile.fission-fetcher .
docker build -t builder -f cmd/builder/Dockerfile.fission-builder .
docker build -t reporter -f cmd/builder/Dockerfile.reporter .

# build multi-architecture images for release.
image-multiarch: verify-builder multiarch-bundle multiarch-fetcher multiarch-builder multiarch-preupgrade multiarch-reporter

multiarch-bundle: verify-builder
docker buildx build --platform=$(PLATFORMS) -t $(REPO)/fission-bundle:$(TAG) $(DOCKER_FLAGS) -f cmd/fission-bundle/Dockerfile.fission-bundle .
local-images:
PLATFORMS=linux/amd64 $(MAKE) all-images

multiarch-fetcher: verify-builder
docker buildx build --platform=$(PLATFORMS) -t $(REPO)/fetcher:$(TAG) $(DOCKER_FLAGS) -f cmd/fetcher/Dockerfile.fission-fetcher .
all-images: verify-builder $(FISSION_IMGS)

multiarch-builder: verify-builder
docker buildx build --platform=$(PLATFORMS) -t $(REPO)/builder:$(TAG) $(DOCKER_FLAGS) -f cmd/builder/Dockerfile.fission-builder .
fission-bundle-multiarch-img: cmd/fission-bundle/Dockerfile.fission-bundle
fetcher-multiarch-img: cmd/fetcher/Dockerfile.fission-fetcher
builder-multiarch-img: cmd/builder/Dockerfile.fission-builder
pre-upgrade-checks-multiarch-img: cmd/preupgradechecks/Dockerfile.fission-preupgradechecks
reporter-multiarch-img: cmd/reporter/Dockerfile.reporter

multiarch-preupgrade: verify-builder
docker buildx build --platform=$(PLATFORMS) -t $(REPO)/pre-upgrade-checks:$(TAG) $(DOCKER_FLAGS) -f cmd/preupgradechecks/Dockerfile.fission-preupgradechecks .

multiarch-reporter: verify-builder
docker buildx build --platform=$(PLATFORMS) -t $(REPO)/reporter:$(TAG) $(DOCKER_FLAGS) -f cmd/reporter/Dockerfile.reporter .
%-multiarch-img:
@echo === Building image $(REPO)/$(subst -multiarch-img,,$@):$(TAG) using context $(CURDIR) and dockerfile $<
docker buildx build --platform=$(PLATFORMS) -t $(REPO)/$(subst -multiarch-img,,$@):$(TAG) \
--build-arg GITCOMMIT=$(COMMITSHA) \
--build-arg BUILDDATE=$(TIMESTAMP) \
--build-arg BUILDVERSION=$(VERSION) \
$(DOCKER_FLAGS) -f $< .

### CRDs
generate-crds:
controller-gen crd:trivialVersions=false,preserveUnknownFields=false paths=./pkg/apis/core/v1 output:crd:artifacts:config=crds/v1
controller-gen crd:trivialVersions=false,preserveUnknownFields=false \
paths=./pkg/apis/core/v1 \
output:crd:artifacts:config=crds/v1

create-crds:
@kubectl create -k crds/v1
Expand All @@ -84,11 +115,17 @@ update-crds:
@kubectl replace -k crds/v1

delete-crds:
@./hack/delete-crds.sh
@kubectl delete -k crds/v1

### Cleanup
clean:
@rm -f cmd/fission-bundle/fission-bundle
@rm -f cmd/fission-cli/fission
@rm -f cmd/fetcher/fetcher
@rm -f cmd/fetcher/builder
@rm -f cmd/reporter/reporter
@rm -f pkg/apis/core/v1/types_swagger_doc_generated.go

### Misc
generate-swagger-doc:
@cd pkg/apis/core/v1/tool && ./update-generated-swagger-docs.sh
4 changes: 2 additions & 2 deletions charts/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,10 +43,10 @@ Parameter | Description | Default
`routerServiceType` | Type of Fission Router service to use. For minikube, set this to NodePort, elsewhere use LoadBalancer or ClusterIP. | `LoadBalancer`
`repository` | Image base repository | `index.docker.io`
`image` | Fission image repository | `fission/fission-bundle`
`imageTag` | Fission image tag | `1.12.0`
`imageTag` | Fission image tag | `1.13.0`
`pullPolicy` | Image pull policy | `IfNotPresent`
`fetcher.image` | Fission fetcher repository | `fission/fetcher`
`fetcher.imageTag` | Fission fetcher image tag | `1.12.0`
`fetcher.imageTag` | Fission fetcher image tag | `1.13.0`
`controllerPort` | Fission Controller service port | `31313`
`routerPort` | Fission Router service port | ` 31314`
`functionNamespace` | Namespace in which to run fission functions (this is different from the release namespace) | `fission-function`
Expand Down
14 changes: 7 additions & 7 deletions charts/fission-all/Chart.yaml
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
apiVersion: v2
name: fission-all
version: 1.12.0
version: 1.13.0
description: Fission is a fast serverless framework for Kubernetes.
keywords:
- fission
- serverless
home: http://fission.io/
home: https://fission.io/
maintainers:
- name: Soam Vasani
email: soamvasani+1@gmail.com
- name: Ta Ching Chen
email: hello@tachingchen.com
- name: Vishal Biyani
email: vishal@infracloud.io
- name: Sanket Sudake
email: sanket@infracloud.io
engine: gotpl
appVersion: 1.12.0
appVersion: 1.13.0
type: application
dependencies:
- name: prometheus
Expand Down
4 changes: 2 additions & 2 deletions charts/fission-all/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ image: fission/fission-bundle
pullPolicy: IfNotPresent

## Fission image version
imageTag: 1.12.0
imageTag: 1.13.0

## Port at which Fission controller service should be exposed
controllerPort: 31313
Expand Down Expand Up @@ -50,7 +50,7 @@ fetcher:
## Fetcher repository
image: fission/fetcher
## Fetcher image version
imageTag: 1.12.0
imageTag: 1.13.0

## Fetcher is only for to downloading or uploading archive.
## Normally, you don't need to change the value here, unless necessary.
Expand Down
14 changes: 7 additions & 7 deletions charts/fission-core/Chart.yaml
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
apiVersion: v2
name: fission-core
version: 1.12.0
version: 1.13.0
description: Fission is a fast serverless framework for Kubernetes.
keywords:
- fission
- serverless
home: http://fission.io/
home: https://fission.io/
maintainers:
- name: Soam Vasani
email: soamvasani+1@gmail.com
- name: Ta Ching Chen
email: hello@tachingchen.com
- name: Vishal Biyani
email: vishal@infracloud.io
- name: Sanket Sudake
email: sanket@infracloud.io
engine: gotpl
appVersion: 1.12.0
appVersion: 1.13.0
type: application
dependencies:
- name: prometheus
Expand Down
4 changes: 2 additions & 2 deletions charts/fission-core/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ repository: index.docker.io
image: fission/fission-bundle

## Fission image version
imageTag: 1.12.0
imageTag: 1.13.0

## Image pull policy
pullPolicy: IfNotPresent
Expand All @@ -43,7 +43,7 @@ fetcher:
## Fetcher repository
image: fission/fetcher
## Fetcher image version
imageTag: 1.12.0
imageTag: 1.13.0

## Fetcher is only for to downloading or uploading archive.
## Normally, you don't need to change the value here, unless necessary.
Expand Down
69 changes: 26 additions & 43 deletions hack/Releasing.txt → hack/Releasing.md
Original file line number Diff line number Diff line change
@@ -1,50 +1,42 @@
#### Fission release
# Fission release

Prerequisites
-------------
## Prerequisites

1. Get a dockerhub account if you don't have one.
1. Get access to:

Get access to:
- The fission dockerhub account (https://hub.docker.com/r/fission/ if you have access, you will see Fission listed in your organizations: https://hub.docker.com/organizations/ )
- Fission-charts repo (https://github.com/fission/fission-charts)
- Fission Documentation Repo (https://github.com/fission/docs.fission.io)
- Fission main repo (https://github.com/fission/fission)
a. [The fission dockerhub account](https://hub.docker.com/r/fission/), if you have access, you will see Fission listed in [your organizations](https://hub.docker.com/organizations/)
b. [Fission-charts repo](https://github.com/fission/fission-charts)
c. [Fission Documentation Repo](https://github.com/fission/docs.fission.io)
d. [Fission main repo](https://github.com/fission/fission)

2. Get a Github "personal access token":
https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/
2. Get a Github [personal access token](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/)

Save the token to ~/.gh-access-token (make sure that the file is
readable only by you)
Save the token to ~/.github-token (make sure that the file is readable only by you)

3. Go toolchain set up.

The ability to build docker images.

`docker login` with your own username; get this username added to
the fission team on dockerhub.

4. Install changelog generator tool "github_changelog_generator": https://github.com/skywinder/github-changelog-generator

5. Install realpath if you don't already have it : https://github.com/harto/realpath-osx (You can use the brew method on Mac)
4. Install changelog generator tool [github_changelog_generator](https://github.com/github-changelog-generator/github-changelog-generator)

6. Install gothub if you don't already have it : https://github.com/itchio/gothub
You just have to go get github.com/itchio/gothub, that'll install gothub in $GOPATH/bin. Ensure this is already
in $PATH env variable.
5. Install realpath if you don't already have it : https://github.com/harto/realpath-osx (You can use the brew method on Mac)

6. Install [Github CLI](https://cli.github.com/)

Check that the build is green!
------------------------------
## Check that the build is green

Fix the build if it is not green. DON'T proceed unless build is GREEN!


Updating Fission Repo (https://github.com/fission/fission)
------------------------------
## Updating [Fission Repo](https://github.com/fission/fission)

1. cd to the top of the fission repo, create a branch:

```shell
git checkout -b release-X.Y.Z
```

2. Change references of old version to new version in charts directory. You use replace and find all with a quick preview in your IDE.

Expand All @@ -69,46 +61,37 @@ Updating Fission Repo (https://github.com/fission/fission)
8. Test build from master branch for sanity check and make sure the master build is green
Updating Fission Charts (https://github.com/fission/fission-charts)
------------------------------
## Updating [Fission Charts](https://github.com/fission/fission-charts)
a. Switch to fission/fission-charts repo and run `index.sh` in that repo. (Don't edit the index.yaml in this repo manually. index.sh generates it, using the helm repo CLI.)

b. You should have index.yaml and fission-core-*, fission-all-* charts as change, add, commit and push it to repo.

9. Go to Github Web UI --> Releases, here you will notice a pre-release for the version x.y.z you just created.
1. Go to Github Web UI --> Releases, here you will notice a pre-release for the version x.y.z you just created.

Edit it and add links to:

* Install guide in docs
* Changelog.md
a. Install guide in docs
b. Changelog.md

Before you save the release - UNCHECK the "This is a pre-release" checkbox. This mark the release as ready for consumption (If release is stable).

Updating Fission Docs (https://github.com/fission/docs.fission.io)
------------------------------
## Updating [Fission Docs](https://github.com/fission/docs.fission.io)

10. Documentation Update
1. Documentation Update

a. Merge documentation PRs that are peer reviewed and get latest master locally.

b. In the repo fission/docs.fission.io change version in version.sh file to latest version (x.y.z) and run build.sh script

c. ** ONLY ** in the dist/x.y.z directory i.e. current version directory - replace all references from previous release to current release. Please use your IDE as there will be thousands of references.
c. **ONLY** in the dist/x.y.z directory i.e. current version directory - replace all references from previous release to current release. Please use your IDE as there will be thousands of references.

d.VERIFY: There should be changes only in dist/x.y.z - where x.y.z is current version and in following files:

- dist/_redirects
- dist/index.html
- version.sh

## Announce the release

Announce the release
--------------------

Announce the release on #contributors.


Update Fission.io
-----------------

Tell #marketing channel to update link
Announce the release on Fission Slack and Twitter.
Loading

0 comments on commit 023a990

Please sign in to comment.