[Snyk] Security upgrade swagger-ui-react from 3.37.2 to 4.18.2 #424
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
name: CI | |
on: | |
push: | |
branches: | |
- "master" | |
- "release-*" | |
- "!release-2.8" | |
pull_request: | |
branches: | |
- "master" | |
- "release-*" | |
jobs: | |
tests: | |
name: Unit Tests | |
runs-on: ubuntu-20.04 | |
# 5m30 | |
timeout-minutes: 7 | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-go@v2 | |
with: | |
go-version: "1.15.7" | |
- uses: actions/cache@v2 | |
with: | |
path: /home/runner/.cache/go-build | |
key: GOCACHE-v2-${{ hashFiles('**/go.mod') }} | |
- uses: actions/cache@v2 | |
with: | |
path: /home/runner/go/pkg/mod | |
key: GOMODCACHE-v2-${{ hashFiles('**/go.mod') }} | |
- run: go mod download -x | |
- run: make server/static/files.go STATIC_FILES=false | |
- run: go build -v ./... | |
- run: make test STATIC_FILES=false GOTEST='go test -covermode=atomic -coverprofile=coverage.out' | |
- run: bash <(curl -s https://codecov.io/bash) | |
e2e-tests: | |
name: E2E Tests | |
runs-on: ubuntu-20.04 | |
# test-api: 7m (1m10s locally) | |
# test-cli: 12m (4m locally) | |
# test-cron: 8m | |
# test-executor 8m (2m locally) | |
# test-functional: 13m (7m locally) | |
timeout-minutes: 20 | |
env: | |
KUBECONFIG: /home/runner/.kubeconfig | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- test: test-api | |
containerRuntimeExecutor: docker | |
profile: mysql | |
- test: test-cli | |
containerRuntimeExecutor: docker | |
profile: mysql | |
- test: test-cron | |
containerRuntimeExecutor: docker | |
profile: minimal | |
- test: test-executor | |
containerRuntimeExecutor: docker | |
profile: minimal | |
- test: test-executor | |
containerRuntimeExecutor: k8sapi | |
profile: minimal | |
- test: test-executor | |
containerRuntimeExecutor: kubelet | |
profile: minimal | |
- test: test-executor | |
containerRuntimeExecutor: pns | |
profile: minimal | |
- test: test-functional | |
containerRuntimeExecutor: docker | |
profile: minimal | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-go@v2 | |
with: | |
go-version: "1.15.7" | |
- uses: actions/cache@v2 | |
with: | |
path: /home/runner/.cache/go-build | |
key: GOCACHE-v2-${{ hashFiles('**/go.mod') }} | |
- uses: actions/cache@v2 | |
with: | |
path: /home/runner/go/pkg/mod | |
key: GOMODCACHE-v2-${{ hashFiles('**/go.mod') }} | |
- uses: actions/cache@v2 | |
with: | |
path: /home/runner/go/bin | |
key: go-bin-v1-${{ hashFiles('**/go.mod') }} | |
- uses: actions/cache@v2 | |
with: | |
path: dist/kustomize | |
key: kustomize | |
- run: mkdir -p /tmp/log/argo-e2e | |
- name: Install and start K3S | |
timeout-minutes: 3 | |
run: | | |
curl -sfL https://get.k3s.io | INSTALL_K3S_VERSION=v1.21.2+k3s1 INSTALL_K3S_CHANNEL=stable INSTALL_K3S_EXEC=--docker K3S_KUBECONFIG_MODE=644 sh - | |
until kubectl --kubeconfig=/etc/rancher/k3s/k3s.yaml cluster-info ; do sleep 10s ; done | |
cp /etc/rancher/k3s/k3s.yaml /home/runner/.kubeconfig | |
echo "- name: fake_token_user" >> $KUBECONFIG | |
echo " user:" >> $KUBECONFIG | |
echo " token: xxxxxx" >> $KUBECONFIG | |
until kubectl cluster-info ; do sleep 10s ; done | |
- name: Set-up /etc/hosts | |
run: | | |
echo '127.0.0.1 dex' | sudo tee -a /etc/hosts | |
echo '127.0.0.1 minio' | sudo tee -a /etc/hosts | |
echo '127.0.0.1 postgres' | sudo tee -a /etc/hosts | |
echo '127.0.0.1 mysql' | sudo tee -a /etc/hosts | |
- run: make install controller cli $(go env GOPATH)/bin/goreman PROFILE=${{matrix.profile}} E2E_EXECUTOR=${{matrix.containerRuntimeExecutor}} AUTH_MODE=client STATIC_FILES=false LOG_LEVEL=info | |
- run: make start PROFILE=${{matrix.profile}} E2E_EXECUTOR=${{matrix.containerRuntimeExecutor}} AUTH_MODE=client STATIC_FILES=false LOG_LEVEL=info UI=false > /tmp/log/argo-e2e/argo.log 2>&1 & | |
timeout-minutes: 4 | |
- name: make argoexec-image | |
run: make argoexec-image STATIC_FILES=false | |
- run: make wait | |
timeout-minutes: 4 | |
- run: make ${{matrix.test}} E2E_TIMEOUT=1m STATIC_FILES=false | |
- name: cat argo.log | |
if: ${{ failure() }} | |
run: cat /tmp/log/argo-e2e/argo.log | |
codegen: | |
name: Codegen | |
runs-on: ubuntu-20.04 | |
needs: [ tests ] | |
timeout-minutes: 9 | |
env: | |
GOPATH: /home/runner/go | |
PROTOC_ZIP: protoc-3.11.1-linux-x86_64.zip | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-go@v2 | |
with: | |
go-version: "1.15.7" | |
- uses: actions/cache@v2 | |
with: | |
path: /home/runner/.cache/go-build | |
key: GOCACHE-v2-${{ hashFiles('**/go.mod') }} | |
- uses: actions/cache@v2 | |
with: | |
path: /home/runner/go/pkg/mod | |
key: GOMODCACHE-v2-${{ hashFiles('**/go.mod') }} | |
- uses: actions/cache@v2 | |
with: | |
path: /home/runner/go/bin | |
key: go-bin-v1-${{ hashFiles('**/go.mod') }} | |
- uses: actions/cache@v2 | |
with: | |
path: protoc-3.11.1-linux-x86_64.zip | |
key: protoc-3.11.1-linux-x86_64.zip | |
- name: Install protoc | |
run: | | |
set -eux -o pipefail | |
curl -OL https://github.com/protocolbuffers/protobuf/releases/download/v3.11.1/$PROTOC_ZIP | |
sudo unzip -o $PROTOC_ZIP -d /usr/local bin/protoc | |
sudo unzip -o $PROTOC_ZIP -d /usr/local 'include/*' | |
sudo chmod +x /usr/local/bin/protoc | |
sudo find /usr/local/include -type f | xargs sudo chmod a+r | |
sudo find /usr/local/include -type d | xargs sudo chmod a+rx | |
ls /usr/local/include/google/protobuf/ | |
- run: git fetch --tags | |
- name: Create links | |
run: | | |
mkdir -p /home/runner/go/src/github.com/argoproj | |
ln -s "$PWD" /home/runner/go/src/github.com/argoproj/argo-workflows | |
- run: make codegen -B STATIC_FILES=false | |
- run: make validate-examples STATIC_FILES=false | |
- run: git diff --exit-code | |
lint: | |
name: Lint | |
runs-on: ubuntu-20.04 | |
needs: [ tests, codegen ] | |
timeout-minutes: 5 | |
env: | |
GOPATH: /home/runner/go | |
steps: | |
- uses: actions/checkout@v2 | |
- run: cp server/static/files.go.stub server/static/files.go | |
- uses: golangci/golangci-lint-action@v2 | |
with: | |
version: v1.36.0 | |
ui: | |
name: UI | |
runs-on: ubuntu-20.04 | |
timeout-minutes: 6 | |
env: | |
NODE_OPTIONS: --max-old-space-size=4096 | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-node@v1 | |
with: | |
node-version: "14" | |
- uses: actions/cache@v1 | |
with: | |
path: ui/node_modules | |
key: ${{ runner.os }}-node-dep-v1-${{ hashFiles('**/yarn.lock') }} | |
- run: yarn --cwd ui install | |
- run: yarn --cwd ui build | |
- run: yarn --cwd ui test | |
- run: yarn --cwd ui lint | |
- run: git diff --exit-code |