-
Notifications
You must be signed in to change notification settings - Fork 42
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #225 from fission/0.6.0
Release 0.6.0
- Loading branch information
Showing
8 changed files
with
237 additions
and
32 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
# Release Process | ||
|
||
This document describes the process of releasing a new version of this repository. | ||
Replace `$VERSION` with the target version. In the future a full script will be provided | ||
to automate this, in which case this document serves as documentation. | ||
|
||
## 1. Prepare the codebase | ||
1. From an up-to-date master, create a new branch: `git checkout -b $VERSION` | ||
2. Replace all references in the codebase to old version to new version. | ||
3. Add compatibility documentation to `INSTALL.md`. | ||
4. Run all code-generation scripts: `make generate` or run all `hack/codegen-*` scripts. | ||
5. Generate the version package: `make version VERSION=$VERSION` | ||
6. Generate a changelog: `make changelog GITHUB_TOKEN=$GITHUB_TOKEN VERSION=$VERSION` | ||
7. Create a PR of the changes originated from the prior steps. | ||
8. Merge PR after CI succeeds. | ||
9. Fetch and checkout new master | ||
|
||
## 2. Prepare the artifacts | ||
1. Build the images `build/docker.sh fission $VERSION` | ||
2. Build the release artifacts (binaries and helm chart): `hack/release.sh` | ||
|
||
## 3. Publish the release | ||
1. Publish images to docker under `$VERSION`: `hack/docker-publish.sh fission $VERSION` | ||
2. Publish images to docker under `latest`: `hack/docker-publish.sh fission latest` | ||
3. Add Helm chart to the `fission/fission-charts` repo. Follow instructions there. | ||
4. Create a release on Github, and include: | ||
- Changelog of the version | ||
- All generated artifacts (except for the docker images) | ||
5. Update the docs with new version: `https://github.com/fission/docs.fission.io` | ||
|
||
## 4. Verify the release | ||
1. Prepare a new Kubernetes cluster | ||
2. Install the latest version of Fission | ||
3. Install the `$VERSION` of Fission Workflows | ||
4. Run the end-to-end tests on the cluster: `test/e2e/runtests.sh` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,31 +1,135 @@ | ||
# Example of the configuration of the workflow engine as a Fission Environment\n\n/ | ||
# An Kubernetes example template of a Fission Workflow deployment as an environment in Fission | ||
--- | ||
# Source: fission-workflows/templates/deployment.yaml | ||
# Workflow Apiserver is an optional component that allows users to query the workflows API through the Fission apiserver. | ||
apiVersion: apps/v1 | ||
kind: Deployment | ||
metadata: | ||
name: workflows | ||
namespace: default | ||
labels: | ||
chart: "fission-workflows-0.6.0" | ||
spec: | ||
replicas: 1 | ||
selector: | ||
matchLabels: | ||
app: workflows | ||
template: | ||
metadata: | ||
annotations: | ||
prometheus.io/path: /metrics | ||
prometheus.io/port: "8080" | ||
prometheus.io/scrape: "true" | ||
labels: | ||
svc: workflows | ||
app: workflows | ||
spec: | ||
containers: | ||
- name: workflows | ||
image: "fission/fission-workflows-bundle:0.6.0" | ||
command: ["/fission-workflows-bundle"] | ||
args: [ | ||
"--fission", | ||
"--internal", | ||
"--controller", | ||
"--api-http", | ||
"--api-workflow-invocation", | ||
"--api-workflow", | ||
"--api-admin", | ||
"--metrics", | ||
] | ||
env: # TODO add dedicated NATS cluster (instead of reusing the mqtrigger) | ||
- name: FNENV_FISSION_CONTROLLER | ||
value: "http://controller.fission" | ||
- name: FNENV_FISSION_EXECUTOR | ||
value: "http://executor.fission" | ||
- name: jaeger-agent | ||
image: jaegertracing/jaeger-agent | ||
ports: | ||
- containerPort: 5775 | ||
protocol: UDP | ||
- containerPort: 6831 | ||
protocol: UDP | ||
- containerPort: 6832 | ||
protocol: UDP | ||
- containerPort: 5778 | ||
protocol: TCP | ||
args: [ | ||
"--collector.host-port=jaeger-collector:14267" | ||
] | ||
--- | ||
# Expose workflows as a service | ||
apiVersion: v1 | ||
kind: Service | ||
metadata: | ||
name: workflows | ||
namespace: default | ||
labels: | ||
svc: workflows | ||
chart: "fission-workflows-0.6.0" | ||
spec: | ||
type: ClusterIP | ||
selector: | ||
svc: workflows | ||
ports: | ||
- name: http | ||
port: 80 | ||
targetPort: 8080 | ||
protocol: TCP | ||
- name: grpc | ||
port: 5555 | ||
targetPort: 5555 | ||
protocol: TCP | ||
|
||
# Workflow Engine is deployed as just another Fission environment. | ||
--- | ||
# Legacy: add 'workflows-apiserver' service for Fission controller | ||
apiVersion: v1 | ||
kind: Service | ||
metadata: | ||
name: workflows-apiserver | ||
namespace: default | ||
labels: | ||
svc: workflows | ||
chart: "fission-workflows-0.6.0" | ||
spec: | ||
type: ClusterIP | ||
selector: | ||
svc: workflows | ||
ports: | ||
- name: http | ||
port: 80 | ||
targetPort: 8080 | ||
protocol: TCP | ||
- name: grpc | ||
port: 5555 | ||
targetPort: 5555 | ||
protocol: TCP | ||
--- | ||
# | ||
# Fission integration | ||
# | ||
apiVersion: fission.io/v1 | ||
kind: Environment | ||
metadata: | ||
name: workflows-env | ||
name: workflows | ||
namespace: default | ||
labels: | ||
chart: "fission-workflows-0.6.0" | ||
spec: | ||
version: 2 | ||
TerminationGracePeriod: 5 | ||
allowedFunctionsPerContainer: infinite | ||
runtime: | ||
image: "fission/workflow-env:0.5.0" | ||
image: "fission/fission-workflows-proxy:0.6.0" | ||
container: | ||
command: ["/fission-workflows-bundle"] | ||
env: | ||
- name: ES_NATS_URL | ||
value: "nats://[email protected]:4222" | ||
- name: ES_NATS_CLUSTER | ||
value: "fissionMQTrigger" | ||
- name: FNENV_FISSION_CONTROLLER | ||
value: "http://controller.fission" | ||
- name: FNENV_FISSION_EXECUTOR | ||
value: "http://executor.fission" | ||
command: ["/fission-workflows-proxy"] | ||
imagePullPolicy: IfNotPresent | ||
args: [ | ||
"--test", | ||
"--target", "workflows.default:5555", | ||
"--port", "8888", | ||
] | ||
builder: | ||
image: "fission/workflow-build-env:0.5.0" | ||
image: "fission/workflow-build-env:0.6.0" | ||
command: "defaultBuild" | ||
allowedFunctionsPerContainer: infinite | ||
|
||
container: | ||
imagePullPolicy: IfNotPresent |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.