Merge branch 'organic_ast_explorer'
This commit is contained in:
commit
1cfaebd377
@ -49,6 +49,8 @@ spec:
|
|||||||
runAfter:
|
runAfter:
|
||||||
- fetch-repository
|
- fetch-repository
|
||||||
- fetch-repository-private
|
- fetch-repository-private
|
||||||
|
- fetch-repository-explorer
|
||||||
|
- fetch-repository-organic
|
||||||
params:
|
params:
|
||||||
- name: CONTEXT
|
- name: CONTEXT
|
||||||
value: "$(params.JOB_NAME)"
|
value: "$(params.JOB_NAME)"
|
||||||
@ -130,6 +132,137 @@ spec:
|
|||||||
runAfter:
|
runAfter:
|
||||||
- get-time
|
- get-time
|
||||||
- report-pending
|
- report-pending
|
||||||
|
- name: fetch-repository-explorer
|
||||||
|
taskRef:
|
||||||
|
resolver: git
|
||||||
|
params:
|
||||||
|
- name: url
|
||||||
|
value: https://github.com/tektoncd/catalog.git
|
||||||
|
- name: revision
|
||||||
|
value: df36b3853a5657fd883015cdbf07ad6466918acf
|
||||||
|
- name: pathInRepo
|
||||||
|
value: task/git-clone/0.9/git-clone.yaml
|
||||||
|
workspaces:
|
||||||
|
- name: output
|
||||||
|
workspace: git-source-explorer
|
||||||
|
params:
|
||||||
|
- name: url
|
||||||
|
value: git@code.fizz.buzz:talexander/organic_ast_explorer.git
|
||||||
|
- name: revision
|
||||||
|
value: main
|
||||||
|
- name: deleteExisting
|
||||||
|
value: "true"
|
||||||
|
- name: fetch-repository-organic
|
||||||
|
taskRef:
|
||||||
|
resolver: git
|
||||||
|
params:
|
||||||
|
- name: url
|
||||||
|
value: https://github.com/tektoncd/catalog.git
|
||||||
|
- name: revision
|
||||||
|
value: df36b3853a5657fd883015cdbf07ad6466918acf
|
||||||
|
- name: pathInRepo
|
||||||
|
value: task/git-clone/0.9/git-clone.yaml
|
||||||
|
workspaces:
|
||||||
|
- name: output
|
||||||
|
workspace: git-source-organic
|
||||||
|
params:
|
||||||
|
- name: url
|
||||||
|
value: git@code.fizz.buzz:talexander/organic.git
|
||||||
|
- name: revision
|
||||||
|
value: main
|
||||||
|
- name: deleteExisting
|
||||||
|
value: "true"
|
||||||
|
- name: build-explorer-image
|
||||||
|
taskRef:
|
||||||
|
resolver: git
|
||||||
|
params:
|
||||||
|
- name: url
|
||||||
|
value: https://github.com/tektoncd/catalog.git
|
||||||
|
- name: revision
|
||||||
|
value: df36b3853a5657fd883015cdbf07ad6466918acf
|
||||||
|
- name: pathInRepo
|
||||||
|
value: task/kaniko/0.6//kaniko.yaml
|
||||||
|
params:
|
||||||
|
- name: IMAGE
|
||||||
|
value: "harbor.fizz.buzz/private/homepage-build-organic:$(tasks.get-time.results.unix-time)"
|
||||||
|
- name: CONTEXT
|
||||||
|
value: .
|
||||||
|
- name: DOCKERFILE
|
||||||
|
value: docker/organic/Dockerfile
|
||||||
|
- name: BUILDER_IMAGE
|
||||||
|
value: "gcr.io/kaniko-project/executor:v1.12.1"
|
||||||
|
- name: EXTRA_ARGS
|
||||||
|
value:
|
||||||
|
- "--destination=harbor.fizz.buzz/private/homepage-build-organic" # Also write the :latest image
|
||||||
|
- --cache=true
|
||||||
|
- --cache-copy-layers
|
||||||
|
- --cache-repo=harbor.fizz.buzz/kanikocache/cache
|
||||||
|
- --use-new-run # Should result in a speed-up
|
||||||
|
- --reproducible # To remove timestamps so layer caching works.
|
||||||
|
- --snapshot-mode=redo
|
||||||
|
- --skip-unused-stages=true
|
||||||
|
- --registry-mirror=dockerhub.dockerhub.svc.cluster.local
|
||||||
|
workspaces:
|
||||||
|
- name: source
|
||||||
|
workspace: git-source
|
||||||
|
- name: dockerconfig
|
||||||
|
workspace: docker-credentials
|
||||||
|
runAfter:
|
||||||
|
- get-time
|
||||||
|
- report-pending
|
||||||
|
- name: build-explorer-wasm
|
||||||
|
taskSpec:
|
||||||
|
metadata: {}
|
||||||
|
stepTemplate:
|
||||||
|
image: alpine:3.18
|
||||||
|
name: ""
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
cpu: 10m
|
||||||
|
memory: 600Mi
|
||||||
|
workingDir: "$(workspaces.organic.path)"
|
||||||
|
steps:
|
||||||
|
- image: "$(params.IMAGE)"
|
||||||
|
name: build-explorer-wasm
|
||||||
|
params:
|
||||||
|
- name: IMAGE
|
||||||
|
value: "harbor.fizz.buzz/private/homepage-build-organic:$(tasks.get-time.results.unix-time)"
|
||||||
|
workspaces:
|
||||||
|
- name: organic
|
||||||
|
workspace: git-source-organic
|
||||||
|
runAfter:
|
||||||
|
- get-time
|
||||||
|
- build-explorer-image
|
||||||
|
- name: copy-explorer-files
|
||||||
|
taskSpec:
|
||||||
|
metadata: {}
|
||||||
|
stepTemplate:
|
||||||
|
image: alpine:3.18
|
||||||
|
name: ""
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
cpu: 10m
|
||||||
|
memory: 600Mi
|
||||||
|
workingDir: "$(workspaces.source-explorer.path)"
|
||||||
|
steps:
|
||||||
|
- image: node:lts-alpine3.19
|
||||||
|
name: copy-explorer-files
|
||||||
|
script: |
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
set -euo pipefail
|
||||||
|
npm install
|
||||||
|
npm run release
|
||||||
|
mkdir -p "$(workspaces.source.path)/static/organic/ast_explorer/"
|
||||||
|
cp -r "$(workspaces.source-explorer.path)/dist/"* "$(workspaces.source.path)/static/organic/ast_explorer/"
|
||||||
|
workspaces:
|
||||||
|
- name: source
|
||||||
|
workspace: git-source
|
||||||
|
- name: source-explorer
|
||||||
|
workspace: git-source-explorer
|
||||||
|
- name: organic
|
||||||
|
workspace: git-source-organic
|
||||||
|
runAfter:
|
||||||
|
- build-explorer-wasm
|
||||||
- name: build-image
|
- name: build-image
|
||||||
taskRef:
|
taskRef:
|
||||||
resolver: git
|
resolver: git
|
||||||
@ -167,6 +300,7 @@ spec:
|
|||||||
workspace: docker-credentials
|
workspace: docker-credentials
|
||||||
runAfter:
|
runAfter:
|
||||||
- copy-private-files
|
- copy-private-files
|
||||||
|
- copy-explorer-files
|
||||||
finally:
|
finally:
|
||||||
- name: report-success
|
- name: report-success
|
||||||
when:
|
when:
|
||||||
@ -250,6 +384,26 @@ spec:
|
|||||||
requests:
|
requests:
|
||||||
storage: 10Gi
|
storage: 10Gi
|
||||||
subPath: git-source
|
subPath: git-source
|
||||||
|
- name: git-source-explorer
|
||||||
|
volumeClaimTemplate:
|
||||||
|
spec:
|
||||||
|
storageClassName: "nfs-client"
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteOnce
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 10Gi
|
||||||
|
subPath: git-source
|
||||||
|
- name: git-source-organic
|
||||||
|
volumeClaimTemplate:
|
||||||
|
spec:
|
||||||
|
storageClassName: "nfs-client"
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteOnce
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 10Gi
|
||||||
|
subPath: git-source
|
||||||
- name: docker-credentials
|
- name: docker-credentials
|
||||||
secret:
|
secret:
|
||||||
secretName: harbor-plain
|
secretName: harbor-plain
|
||||||
|
@ -15,6 +15,27 @@ spec:
|
|||||||
description: The path to the Dockerfile
|
description: The path to the Dockerfile
|
||||||
type: string
|
type: string
|
||||||
tasks:
|
tasks:
|
||||||
|
- name: get-time
|
||||||
|
taskSpec:
|
||||||
|
metadata: {}
|
||||||
|
stepTemplate:
|
||||||
|
image: alpine:3.18
|
||||||
|
name: ""
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
cpu: 10m
|
||||||
|
memory: 600Mi
|
||||||
|
workingDir: /workspace/source
|
||||||
|
results:
|
||||||
|
- name: unix-time
|
||||||
|
description: The current date in unix timestamp format
|
||||||
|
steps:
|
||||||
|
- image: alpine:3.18
|
||||||
|
name: get-time-step
|
||||||
|
script: |
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
set -euo pipefail
|
||||||
|
echo -n "$(date +%s)" | tee $(results.unix-time.path)
|
||||||
- name: detect-tag
|
- name: detect-tag
|
||||||
taskSpec:
|
taskSpec:
|
||||||
metadata: {}
|
metadata: {}
|
||||||
@ -61,6 +82,8 @@ spec:
|
|||||||
runAfter:
|
runAfter:
|
||||||
- fetch-repository
|
- fetch-repository
|
||||||
- fetch-repository-private
|
- fetch-repository-private
|
||||||
|
- fetch-repository-explorer
|
||||||
|
- fetch-repository-organic
|
||||||
params:
|
params:
|
||||||
- name: CONTEXT
|
- name: CONTEXT
|
||||||
value: "$(params.JOB_NAME)"
|
value: "$(params.JOB_NAME)"
|
||||||
@ -141,6 +164,137 @@ spec:
|
|||||||
workspace: git-source-private
|
workspace: git-source-private
|
||||||
runAfter:
|
runAfter:
|
||||||
- report-pending
|
- report-pending
|
||||||
|
- name: fetch-repository-explorer
|
||||||
|
taskRef:
|
||||||
|
resolver: git
|
||||||
|
params:
|
||||||
|
- name: url
|
||||||
|
value: https://github.com/tektoncd/catalog.git
|
||||||
|
- name: revision
|
||||||
|
value: df36b3853a5657fd883015cdbf07ad6466918acf
|
||||||
|
- name: pathInRepo
|
||||||
|
value: task/git-clone/0.9/git-clone.yaml
|
||||||
|
workspaces:
|
||||||
|
- name: output
|
||||||
|
workspace: git-source-explorer
|
||||||
|
params:
|
||||||
|
- name: url
|
||||||
|
value: git@code.fizz.buzz:talexander/organic_ast_explorer.git
|
||||||
|
- name: revision
|
||||||
|
value: main
|
||||||
|
- name: deleteExisting
|
||||||
|
value: "true"
|
||||||
|
- name: fetch-repository-organic
|
||||||
|
taskRef:
|
||||||
|
resolver: git
|
||||||
|
params:
|
||||||
|
- name: url
|
||||||
|
value: https://github.com/tektoncd/catalog.git
|
||||||
|
- name: revision
|
||||||
|
value: df36b3853a5657fd883015cdbf07ad6466918acf
|
||||||
|
- name: pathInRepo
|
||||||
|
value: task/git-clone/0.9/git-clone.yaml
|
||||||
|
workspaces:
|
||||||
|
- name: output
|
||||||
|
workspace: git-source-organic
|
||||||
|
params:
|
||||||
|
- name: url
|
||||||
|
value: git@code.fizz.buzz:talexander/organic.git
|
||||||
|
- name: revision
|
||||||
|
value: main
|
||||||
|
- name: deleteExisting
|
||||||
|
value: "true"
|
||||||
|
- name: build-explorer-image
|
||||||
|
taskRef:
|
||||||
|
resolver: git
|
||||||
|
params:
|
||||||
|
- name: url
|
||||||
|
value: https://github.com/tektoncd/catalog.git
|
||||||
|
- name: revision
|
||||||
|
value: df36b3853a5657fd883015cdbf07ad6466918acf
|
||||||
|
- name: pathInRepo
|
||||||
|
value: task/kaniko/0.6//kaniko.yaml
|
||||||
|
params:
|
||||||
|
- name: IMAGE
|
||||||
|
value: "harbor.fizz.buzz/private/homepage-build-organic:$(tasks.get-time.results.unix-time)"
|
||||||
|
- name: CONTEXT
|
||||||
|
value: .
|
||||||
|
- name: DOCKERFILE
|
||||||
|
value: docker/organic/Dockerfile
|
||||||
|
- name: BUILDER_IMAGE
|
||||||
|
value: "gcr.io/kaniko-project/executor:v1.12.1"
|
||||||
|
- name: EXTRA_ARGS
|
||||||
|
value:
|
||||||
|
- "--destination=harbor.fizz.buzz/private/homepage-build-organic" # Also write the :latest image
|
||||||
|
- --cache=true
|
||||||
|
- --cache-copy-layers
|
||||||
|
- --cache-repo=harbor.fizz.buzz/kanikocache/cache
|
||||||
|
- --use-new-run # Should result in a speed-up
|
||||||
|
- --reproducible # To remove timestamps so layer caching works.
|
||||||
|
- --snapshot-mode=redo
|
||||||
|
- --skip-unused-stages=true
|
||||||
|
- --registry-mirror=dockerhub.dockerhub.svc.cluster.local
|
||||||
|
workspaces:
|
||||||
|
- name: source
|
||||||
|
workspace: git-source
|
||||||
|
- name: dockerconfig
|
||||||
|
workspace: docker-credentials
|
||||||
|
runAfter:
|
||||||
|
- get-time
|
||||||
|
- report-pending
|
||||||
|
- name: build-explorer-wasm
|
||||||
|
taskSpec:
|
||||||
|
metadata: {}
|
||||||
|
stepTemplate:
|
||||||
|
image: alpine:3.18
|
||||||
|
name: ""
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
cpu: 10m
|
||||||
|
memory: 600Mi
|
||||||
|
workingDir: "$(workspaces.organic.path)"
|
||||||
|
steps:
|
||||||
|
- image: "$(params.IMAGE)"
|
||||||
|
name: build-explorer-wasm
|
||||||
|
params:
|
||||||
|
- name: IMAGE
|
||||||
|
value: "harbor.fizz.buzz/private/homepage-build-organic:$(tasks.get-time.results.unix-time)"
|
||||||
|
workspaces:
|
||||||
|
- name: organic
|
||||||
|
workspace: git-source-organic
|
||||||
|
runAfter:
|
||||||
|
- get-time
|
||||||
|
- build-explorer-image
|
||||||
|
- name: copy-explorer-files
|
||||||
|
taskSpec:
|
||||||
|
metadata: {}
|
||||||
|
stepTemplate:
|
||||||
|
image: alpine:3.18
|
||||||
|
name: ""
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
cpu: 10m
|
||||||
|
memory: 600Mi
|
||||||
|
workingDir: "$(workspaces.source-explorer.path)"
|
||||||
|
steps:
|
||||||
|
- image: node:lts-alpine3.19
|
||||||
|
name: copy-explorer-files
|
||||||
|
script: |
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
set -euo pipefail
|
||||||
|
npm install
|
||||||
|
npm run release
|
||||||
|
mkdir -p "$(workspaces.source.path)/static/organic/ast_explorer/"
|
||||||
|
cp -r "$(workspaces.source-explorer.path)/dist/"* "$(workspaces.source.path)/static/organic/ast_explorer/"
|
||||||
|
workspaces:
|
||||||
|
- name: source
|
||||||
|
workspace: git-source
|
||||||
|
- name: source-explorer
|
||||||
|
workspace: git-source-explorer
|
||||||
|
- name: organic
|
||||||
|
workspace: git-source-organic
|
||||||
|
runAfter:
|
||||||
|
- build-explorer-wasm
|
||||||
- name: build-image
|
- name: build-image
|
||||||
taskRef:
|
taskRef:
|
||||||
resolver: git
|
resolver: git
|
||||||
@ -177,7 +331,9 @@ spec:
|
|||||||
- name: dockerconfig
|
- name: dockerconfig
|
||||||
workspace: docker-credentials
|
workspace: docker-credentials
|
||||||
runAfter:
|
runAfter:
|
||||||
|
- detect-tag
|
||||||
- copy-private-files
|
- copy-private-files
|
||||||
|
- copy-explorer-files
|
||||||
finally:
|
finally:
|
||||||
- name: report-success
|
- name: report-success
|
||||||
when:
|
when:
|
||||||
@ -261,6 +417,26 @@ spec:
|
|||||||
requests:
|
requests:
|
||||||
storage: 10Gi
|
storage: 10Gi
|
||||||
subPath: git-source
|
subPath: git-source
|
||||||
|
- name: git-source-explorer
|
||||||
|
volumeClaimTemplate:
|
||||||
|
spec:
|
||||||
|
storageClassName: "nfs-client"
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteOnce
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 10Gi
|
||||||
|
subPath: git-source
|
||||||
|
- name: git-source-organic
|
||||||
|
volumeClaimTemplate:
|
||||||
|
spec:
|
||||||
|
storageClassName: "nfs-client"
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteOnce
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 10Gi
|
||||||
|
subPath: git-source
|
||||||
- name: docker-credentials
|
- name: docker-credentials
|
||||||
secret:
|
secret:
|
||||||
secretName: harbor-plain
|
secretName: harbor-plain
|
||||||
|
7
docker/organic/Dockerfile
Normal file
7
docker/organic/Dockerfile
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
FROM rustlang/rust:nightly-alpine3.17
|
||||||
|
|
||||||
|
RUN apk add --no-cache musl-dev make bash
|
||||||
|
RUN rustup target add wasm32-unknown-unknown
|
||||||
|
RUN cargo install wasm-bindgen-cli
|
||||||
|
|
||||||
|
CMD ["make", "wasm"]
|
52
docker/organic/Makefile
Normal file
52
docker/organic/Makefile
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
SHELL := bash
|
||||||
|
.ONESHELL:
|
||||||
|
.SHELLFLAGS := -eu -o pipefail -c
|
||||||
|
.DELETE_ON_ERROR:
|
||||||
|
MAKEFLAGS += --warn-undefined-variables
|
||||||
|
MAKEFLAGS += --no-builtin-rules
|
||||||
|
OS:=$(shell uname -s)
|
||||||
|
|
||||||
|
ifeq ($(origin .RECIPEPREFIX), undefined)
|
||||||
|
$(error This Make does not support .RECIPEPREFIX. Please use GNU Make 4.0 or later)
|
||||||
|
endif
|
||||||
|
.RECIPEPREFIX = >
|
||||||
|
|
||||||
|
IMAGE_NAME:=homepage-build-organic
|
||||||
|
# REMOTE_REPO:=harbor.fizz.buzz/private
|
||||||
|
TARGET :=
|
||||||
|
|
||||||
|
.PHONY: help
|
||||||
|
help:
|
||||||
|
> @grep -h "##" $(MAKEFILE_LIST) | grep -v grep | sed -E 's/^([^:]*): *## */\1: /'
|
||||||
|
|
||||||
|
.PHONY: build
|
||||||
|
build: ## Build the docker image.
|
||||||
|
> docker build --tag $(IMAGE_NAME) --target=$(TARGET) --file Dockerfile ../../
|
||||||
|
|
||||||
|
.PHONY: push
|
||||||
|
push: ## Push the docker image to a remote repository.
|
||||||
|
ifdef REMOTE_REPO
|
||||||
|
> docker tag $(IMAGE_NAME) $(REMOTE_REPO)/$(IMAGE_NAME)
|
||||||
|
> docker push $(REMOTE_REPO)/$(IMAGE_NAME)
|
||||||
|
else
|
||||||
|
> @echo "REMOTE_REPO not defined, not pushing to a remote repo."
|
||||||
|
endif
|
||||||
|
|
||||||
|
.PHONY: clean
|
||||||
|
clean:
|
||||||
|
> docker rmi $(IMAGE_NAME)
|
||||||
|
ifdef REMOTE_REPO
|
||||||
|
> docker rmi $(REMOTE_REPO)/$(IMAGE_NAME)
|
||||||
|
else
|
||||||
|
> @echo "REMOTE_REPO not defined, not removing from remote repo."
|
||||||
|
endif
|
||||||
|
|
||||||
|
.PHONY: run
|
||||||
|
run: build
|
||||||
|
run: ## Launch the docker image
|
||||||
|
> docker run --rm -i -t $(IMAGE_NAME)
|
||||||
|
|
||||||
|
.PHONY: shell
|
||||||
|
shell: ## Launch an interactive shell inside the docker image.
|
||||||
|
shell: build
|
||||||
|
> docker run --rm -i -t --entrypoint /bin/bash --mount type=tmpfs,destination=/tmp $(IMAGE_NAME)
|
Loading…
x
Reference in New Issue
Block a user