Skip to content

Commit

Permalink
Merge branch 'master' into release-3.4
Browse files Browse the repository at this point in the history
Signed-off-by: Saravanan Balasubramanian <[email protected]>
  • Loading branch information
sarabala1979 committed Oct 23, 2022
2 parents 0546fef + b00550f commit c08563b
Show file tree
Hide file tree
Showing 513 changed files with 7,955 additions and 6,900 deletions.
2 changes: 1 addition & 1 deletion .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,5 +26,5 @@
"workspaceMount": "source=${localWorkspaceFolder},target=${localEnv:HOME}/go/src/github.com/argoproj/argo-workflows,type=bind",
"workspaceFolder": "${localEnv:HOME}/go/src/github.com/argoproj/argo-workflows",

"postCreateCommand": "bash -i .devcontainer/startup.sh"
"postStartCommand": "bash -i .devcontainer/startup.sh"
}
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/bug_report.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,6 @@ body:
id: wait-logs
attributes:
label: Logs from in your workflow's wait container
value: kubectl logs -c wait -l workflows.argoproj.io/workflow=${workflow},workflow.argoproj.io/phase!=Succeeded
value: kubectl logs -n argo -c wait -l workflows.argoproj.io/workflow=${workflow},workflow.argoproj.io/phase!=Succeeded
validations:
required: true
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/regression.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,6 @@ body:
id: wait-logs
attributes:
label: Logs from in your workflow's wait container
value: kubectl logs -c wait -l workflows.argoproj.io/workflow=${workflow},workflow.argoproj.io/phase!=Succeeded
value: kubectl logs -n argo -c wait -l workflows.argoproj.io/workflow=${workflow},workflow.argoproj.io/phase!=Succeeded
validations:
required: true
42 changes: 12 additions & 30 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -1,32 +1,14 @@
Fixes #TODO

<!--
Before you commit your changes:
* Run `make pre-commit -B` to fix codegen and lint problems.
* Add you organization to [USERS.md](https://github.com/argoproj/argo-workflows/blob/master/USERS.md) if you like.
Then, you MUST:
* Sign-off your commit (otherwise the DCO check will fail).
* Use [a conventional commit message](https://www.conventionalcommits.org/en/v1.0.0/) (otherwise the commit message check will fail).
If you did not do this, reset all your commit and replace them with a single commit:
```
git reset HEAD~1 ;# change 1 to how many commits you made
git commit --signoff -m 'feat: my feat. Fixes #1234'
```
When creating your PR:
* Make sure that "Fixes #" is in both the PR title (for release notes) and description (to automatically link and close the issue).
* Say how you tested your changes. If you changed the UI, attach screenshots.
* Set your PR as a draft initially.
* Your PR needs to pass the required checks before it can be approved.
* Once required tests have passed, mark your PR "Ready for review".
If changes were requested, once you've made them, you MUST dismiss the review to get it reviewed again.
-->
Please do not open a pull request until you have checked ALL of these:

* [ ] Create the PR as draft .
* [ ] Run `make pre-commit -B` to fix codegen and lint problems.
* [ ] Sign-off your commits (otherwise the DCO check will fail).
* [ ] Use [a conventional commit message](https://www.conventionalcommits.org/en/v1.0.0/) (otherwise the commit message check will fail).
* [ ] "Fixes #" is in both the PR title (for release notes) and this description (to automatically link and close the issue).
* [ ] Add unit or e2e tests. Say how you tested your changes. If you changed the UI, attach screenshots.
* [ ] Github checks are green.
* [ ] Once required tests have passed, mark your PR "Ready for review".

If changes were requested, and you've made them, dismiss the review to get it reviewed again.
147 changes: 79 additions & 68 deletions .github/workflows/ci-build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -26,15 +26,7 @@ jobs:
- uses: actions/setup-go@v3
with:
go-version: "1.18"
# https://github.com/actions/cache/blob/main/examples.md#go---modules
- uses: actions/cache@v3
with:
path: |
~/.cache/go-build
~/go/pkg/mod
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
restore-keys: |
${{ runner.os }}-go-
cache: true
- run: make test STATIC_FILES=false GOTEST='go test -p 20 -covermode=atomic -coverprofile=coverage.out'
# engineers just ignore this in PRs, so lets not even run it
- run: bash <(curl -s https://codecov.io/bash)
Expand All @@ -48,41 +40,26 @@ jobs:
steps:
- uses: actions/checkout@v3
- uses: docker/setup-buildx-action@v2
- name: Cache Docker layers
uses: actions/cache@v3
- name: Build and export
uses: docker/build-push-action@v3
with:
path: /tmp/.buildx-cache
key: ${{ runner.os }}-single-buildx-${{ github.sha }}
restore-keys: |
${{ runner.os }}-single-buildx
- name: build argoexec-image
run: |
docker buildx build \
-t quay.io/argoproj/argoexec:latest \
--target argoexec \
--cache-from "type=local,src=/tmp/.buildx-cache" \
--cache-to "type=local,dest=/tmp/.buildx-cache-new" \
--output=type=docker \
.
- run: docker save quay.io/argoproj/argoexec:latest > /tmp/argoexec_image.tar
context: .
tags: quay.io/argoproj/argoexec:latest
outputs: type=docker,dest=/tmp/argoexec_image.tar
target: argoexec
cache-from: type=gha
cache-to: type=gha,mode=max
- uses: actions/upload-artifact@v3
with:
name: argoexec
path: /tmp/argoexec_image.tar
if-no-files-found: error
# Temp fix
# https://github.com/docker/build-push-action/issues/252
# https://github.com/moby/buildkit/issues/1896
- name: Move cache
run: |
rm -rf /tmp/.buildx-cache
mv /tmp/.buildx-cache-new /tmp/.buildx-cache

e2e-tests:
name: E2E Tests
runs-on: ubuntu-latest
timeout-minutes: 25
needs: [ tests, argoexec-image ]
needs: [ argoexec-image ]
env:
KUBECONFIG: /home/runner/.kubeconfig
strategy:
Expand All @@ -109,40 +86,51 @@ jobs:
profile: minimal
- test: test-python-sdk
profile: minimal
- test: test-executor
install_k3s_version: v1.21.2+k3s1
profile: minimal
- test: test-corefunctional
install_k3s_version: v1.21.2+k3s1
profile: minimal
- test: test-functional
install_k3s_version: v1.21.2+k3s1
profile: minimal
steps:
- name: Install socat
# needed by Kubernetes v1.25
run: sudo apt-get -y install socat
- uses: actions/checkout@v3
- uses: actions/setup-go@v3
with:
go-version: "1.18"
cache: true
- uses: actions/setup-java@v3
if: ${{matrix.test == 'test-java-sdk'}}
with:
java-version: '8'
distribution: adopt
cache: maven
- uses: actions/setup-python@v4
if: ${{matrix.test == 'test-python-sdk'}}
with:
python-version: '3.x'
- uses: actions/cache@v3
with:
path: |
~/.cache/go-build
~/go/pkg/mod
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
restore-keys: |
${{ runner.os }}-go-
cache: pip
- name: Install and start K3S
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 -
curl -sfL https://get.k3s.io | INSTALL_K3S_VERSION=${{matrix.install_k3s_version}} 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
- uses: actions/download-artifact@v3
name: Download argoexec image
with:
name: argoexec
path: /tmp
- run: docker load < /tmp/argoexec_image.tar
name: Load argoexec image
- name: Set-up /etc/hosts
run: |
echo '127.0.0.1 dex' | sudo tee -a /etc/hosts
Expand All @@ -151,23 +139,60 @@ jobs:
echo '127.0.0.1 mysql' | sudo tee -a /etc/hosts
echo '127.0.0.1 azurite' | sudo tee -a /etc/hosts
- run: make install PROFILE=${{matrix.profile}} STATIC_FILES=false
name: Install manifests
- run: make controller $(go env GOPATH)/bin/goreman STATIC_FILES=false
name: Build controller
- run: make cli STATIC_FILES=false
if: ${{matrix.test == 'test-api' || matrix.test == 'test-cli' || matrix.test == 'test-java-sdk' || matrix.test == 'test-python-sdk'}}
- run: make start PROFILE=${{matrix.profile}} AUTH_MODE=client STATIC_FILES=false LOG_LEVEL=info API=${{matrix.test == 'test-api' || matrix.test == 'test-cli' || matrix.test == 'test-java-sdk' || matrix.test == 'test-python-sdk'}} UI=false AZURE=true > /tmp/argo.log 2>&1 &
name: Build CLI
- run: ./hack/port-forward.sh
name: Start port forward
- run: make start PROFILE=${{matrix.profile}} AUTH_MODE=client STATIC_FILES=false LOG_LEVEL=info API=${{matrix.test == 'test-api' || matrix.test == 'test-cli' || matrix.test == 'test-java-sdk' || matrix.test == 'test-python-sdk'}} UI=false LOGS=false > /tmp/argo.log 2>&1 &
name: Start controller/API
- run: make wait
timeout-minutes: 4
- name: make ${{matrix.test}}
name: Wait for controller to be up
- name: Run tests ${{matrix.test}}
# https://github.com/marketplace/actions/retry-step
uses: nick-fields/[email protected].1
uses: nick-fields/[email protected].2
with:
timeout_minutes: 20
max_attempts: 2
command: make ${{matrix.test}} E2E_SUITE_TIMEOUT=20m STATIC_FILES=false AZURE=true
command: make ${{matrix.test}} E2E_SUITE_TIMEOUT=20m STATIC_FILES=false
- if: ${{ failure() }}
name: MinIO/MySQL deployment
run: |
set -eux
kubectl get deploy
kubectl describe deploy
- if: ${{ failure() }}
name: MinIO/MySQL pods
run: |
set -eux
kubectl get pods -l '!workflows.argoproj.io/workflow'
kubectl describe pods -l '!workflows.argoproj.io/workflow'
- if: ${{ failure() }}
name: MinIO/MySQL logs
run: kubectl logs -l '!workflows.argoproj.io/workflow' --prefix
- if: ${{ failure() }}
name: Controller/API logs
run: |
[ -e /tmp/argo.log ] && cat /tmp/argo.log
- if: ${{ failure() }}
name: Workflows
run: |
set -eux
kubectl get wf
kubectl describe wf
- if: ${{ failure() }}
name: Workflow pods
run: |
set -eux
kubectl get pods -l workflows.argoproj.io/workflow
kubectl describe pods -l workflows.argoproj.io/workflow
- if: ${{ failure() }}
name: Wait container logs
run: kubectl logs -c wait -l workflows.argoproj.io/workflow --prefix
codegen:
name: Codegen
runs-on: ubuntu-latest
Expand All @@ -180,14 +205,7 @@ jobs:
- uses: actions/setup-go@v3
with:
go-version: "1.19"
- uses: actions/cache@v3
with:
path: |
~/.cache/go-build
~/go/pkg/mod
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
restore-keys: |
${{ runner.os }}-go-
cache: true
- name: Install protoc
run: |
set -eux -o pipefail
Expand All @@ -198,7 +216,9 @@ jobs:
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: docker pull openapitools/openapi-generator-cli:v5.2.1 &
- run: |
docker pull openapitools/openapi-generator-cli:v5.4.0 &
docker pull openapitools/openapi-generator-cli:v5.2.1 &
- name: Create links
run: |
mkdir -p /home/runner/go/src/github.com/argoproj
Expand All @@ -218,14 +238,7 @@ jobs:
- uses: actions/setup-go@v3
with:
go-version: "1.18"
- uses: actions/cache@v3
with:
path: |
~/.cache/go-build
~/go/pkg/mod
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
restore-keys: |
${{ runner.os }}-go-
cache: true
- run: make lint STATIC_FILES=false
- run: git diff --exit-code

Expand All @@ -240,10 +253,8 @@ jobs:
- uses: actions/setup-node@v3
with:
node-version: "16"
- uses: actions/cache@v3
with:
path: ui/node_modules
key: ${{ runner.os }}-node-dep-v1-${{ hashFiles('**/yarn.lock') }}
cache: yarn
cache-dependency-path: ui/yarn.lock
- run: yarn --cwd ui install
- run: yarn --cwd ui build
- run: yarn --cwd ui test
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/dependabot-reviewer.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
steps:
- name: Dependabot metadata
id: metadata
uses: dependabot/[email protected].3
uses: dependabot/[email protected].4
with:
github-token: "${{ secrets.GITHUB_TOKEN }}"
- name: Approve PR
Expand Down
1 change: 0 additions & 1 deletion .github/workflows/sdks.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ permissions:
jobs:
sdk:
permissions:
# contents: read
packages: write # for publishing packages
contents: write # for creating releases
if: github.repository == 'argoproj/argo-workflows'
Expand Down
3 changes: 2 additions & 1 deletion .spelling
Original file line number Diff line number Diff line change
Expand Up @@ -183,11 +183,12 @@ v1.0
v1.1
v1.2
v1.3
v1.24
v2
v2.10
v2.11
v2.12
v2.23.0
v2.35.0
v2.4
v2.5
v2.6
Expand Down
Loading

0 comments on commit c08563b

Please sign in to comment.