Skip to content

Commit

Permalink
Merge branch 'argoproj:master' into master
Browse files Browse the repository at this point in the history
  • Loading branch information
JasonChen86899 authored Oct 30, 2023
2 parents 56db8af + ce60013 commit 8210a1e
Show file tree
Hide file tree
Showing 99 changed files with 1,913 additions and 1,167 deletions.
1 change: 1 addition & 0 deletions .github/workflows/changelog.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ on:
tags:
- v*
- "!v0.0.0"

permissions:
contents: read

Expand Down
139 changes: 135 additions & 4 deletions .github/workflows/ci-build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,99 @@ permissions:
contents: read

jobs:
changed-files:
name: Get changed files
outputs:
# reference: https://github.com/tj-actions/changed-files#outputs-
tests: ${{ steps.changed-files.outputs.tests_any_modified == 'true' }}
e2e-tests: ${{ steps.changed-files.outputs.e2e-tests_any_modified == 'true' }}
codegen: ${{ steps.changed-files.outputs.codegen_any_modified == 'true' }}
lint: ${{ steps.changed-files.outputs.lint_any_modified == 'true' }}
ui: ${{ steps.changed-files.outputs.ui_any_modified == 'true' }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 50 # assume PRs are less than 50 commits
- name: Get relevant files changed per group
id: changed-files
uses: tj-actions/changed-files@v39
with:
files_yaml: |
common: &common
- .github/workflows/ci-build.yaml
- Makefile
- tasks.yaml
tests: &tests
- *common
- cmd/**
- config/**
- errors/**
- persist/**
- pkg/**
- server/**
- test/**
- util/**
- workflow/**
- go.mod
- go.sum
e2e-tests:
- *tests
# plus manifests and SDKs that are used in E2E tests
- manifests/**
- sdks/**
codegen:
- *common
# generated files
- api/**
- docs/fields.md
- docs/executor_swagger.md
- docs/cli/**
- pkg/**
- sdks/java/**
- sdks/python/**
# files that generation is based off
- pkg/**
- cmd/**
- examples/** # examples are used within the fields lists
# generation scripts
- hack/cli/**
- hack/jsonschema/**
- hack/swagger/**
- hack/auto-gen-msg.sh
- hack/crdgen.sh
- hack/crds.go
- hack/docgen.go
- hack/parse_examples.go
- hack/swaggify.sh
- .clang-format
lint:
- *tests
# plus lint config
- .golangci.yml
# docs files below
- docs/**
# generated files are covered by codegen
- '!docs/fields.md'
- '!docs/executor_swagger.md'
- '!docs/cli/**'
# proposals live only on GH as pure markdown
- '!docs/proposals/**'
# docs scripts & tools from `make docs`
- hack/check-mkdocs.sh
- hack/check-env-doc.sh
- .markdownlint.yaml
- .mlc_config.json
- .spelling
- mkdocs.yml
ui:
- *common
- ui/**
tests:
name: Unit Tests
needs: [ changed-files ]
if: ${{ needs.changed-files.outputs.tests == 'true' }}
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
Expand All @@ -33,6 +124,23 @@ jobs:
if: github.ref == 'refs/heads/master'
run: bash <(curl -s https://codecov.io/bash)

tests-windows:
name: Windows Unit Tests
needs: [ changed-files ]
if: ${{ needs.changed-files.outputs.tests == 'true' }}
runs-on: windows-2022
timeout-minutes: 20
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v4
with:
go-version: "1.21"
cache: true
# windows run does not use makefile target because it does a lot more than just testing and is not cross-platform compatible
- run: go test -p 20 -covermode=atomic -coverprofile='coverage.out' $(go list ./... | select-string -Pattern 'github.com/argoproj/argo-workflows/v3/workflow/controller' , 'github.com/argoproj/argo-workflows/v3/server' -NotMatch)
env:
KUBECONFIG: /dev/null

argoexec-image:
name: argoexec-image
# needs: [ lint ]
Expand All @@ -59,7 +167,8 @@ jobs:

e2e-tests:
name: E2E Tests
needs: [ argoexec-image ]
needs: [ changed-files, argoexec-image ]
if: ${{ needs.changed-files.outputs.e2e-tests == 'true' }}
runs-on: ubuntu-latest
timeout-minutes: 30
env:
Expand Down Expand Up @@ -198,9 +307,28 @@ jobs:
if: ${{ failure() }}
run: kubectl logs -c wait -l workflows.argoproj.io/workflow --prefix

# workaround for status checks -- check this one job instead of each individual E2E job in the matrix
# this allows us to skip the entire matrix when it doesn't need to run while still having accurate status checks
# see https://github.com/orgs/community/discussions/9141#discussioncomment-2296809 and https://github.com/orgs/community/discussions/26822#discussioncomment-3305794
e2e-tests-composite-result:
name: E2E Tests - Composite result
needs: [ e2e-tests ]
if: ${{ always() }}
runs-on: ubuntu-latest
steps:
- run: |
result="${{ needs.e2e-tests.result }}"
# mark as successful even if skipped
if [[ $result == "success" || $result == "skipped" ]]; then
exit 0
else
exit 1
fi
codegen:
name: Codegen
needs: [ tests ]
needs: [ changed-files ]
if: ${{ needs.changed-files.outputs.codegen == 'true' }}
runs-on: ubuntu-latest
timeout-minutes: 20
env:
Expand Down Expand Up @@ -236,9 +364,10 @@ jobs:

lint:
name: Lint
needs: [ tests, codegen ]
needs: [ changed-files ]
if: ${{ needs.changed-files.outputs.lint == 'true' }}
runs-on: ubuntu-latest
timeout-minutes: 15 # must be strictly greater than the timeout in .golancgi.yml
timeout-minutes: 15 # must be strictly greater than the timeout in .golangci.yml
env:
GOPATH: /home/runner/go
steps:
Expand All @@ -254,6 +383,8 @@ jobs:

ui:
name: UI
needs: [ changed-files ]
if: ${{ needs.changed-files.outputs.ui == 'true' }}
runs-on: ubuntu-latest
timeout-minutes: 6
env:
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/dependabot-reviewer.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ jobs:
review:
if: ${{ github.actor == 'dependabot[bot]' && github.repository == 'argoproj/argo-workflows'}}
permissions:
pull-requests: write
contents: write
pull-requests: write # for approving a PR
contents: write # for enabling auto-merge on a PR
runs-on: ubuntu-latest
steps:
- name: Dependabot metadata
Expand Down
4 changes: 3 additions & 1 deletion .github/workflows/docs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,13 @@ concurrency:
cancel-in-progress: true

permissions:
contents: write
contents: read

jobs:
docs:
runs-on: ubuntu-latest
permissions:
contents: write # for publishing the docs to GH Pages
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v4
Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/pr.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@ on:
- reopened
- synchronize

permissions:
contents: read

jobs:
title-check:
runs-on: ubuntu-latest
Expand Down
25 changes: 3 additions & 22 deletions .spelling
Original file line number Diff line number Diff line change
Expand Up @@ -37,20 +37,18 @@ BlackRock
Breitgand
Codespaces
Couler
ClusterRoles
ClusterRoleBinding
CRD
CRDs
CloudSQL
DataDog
Dataflow
DeleteObject
DevOps
Dex
EditorConfig
EtcD
EventRouter
FailFast
GSoC
GitOps
Github
Golang
Expand All @@ -66,7 +64,6 @@ InsideBoard
Invocators
IAM-based
Istio
J.P.
Jemison
JetBrains
KNative
Expand All @@ -91,8 +88,6 @@ Node.JS.
OAuth
OAuth2
Okta
parameterize
parameterized
parameterizing
PDBs
PProf
Expand All @@ -111,17 +106,13 @@ Singer.io
Snyk
Sumit
Tekton
Tianchu
Traefik
TripAdvisor
VSCode
Valasek
Webhooks
Welch
`CronTab`
`OnFailure`
a.m.
alexec
anded
apis
architecting
Expand All @@ -130,7 +121,6 @@ args
async
auth
backend
blkperl
boolean
booleans
buildkit
Expand All @@ -139,8 +129,6 @@ config
cpu
cron
daemoned
dev-container
dinever
dockershim
dropdown
e.g.
Expand Down Expand Up @@ -170,8 +158,6 @@ localhost
memoization
memoized
memoizing
mentee
mentees
minikube
mutex
namespace
Expand All @@ -188,15 +174,9 @@ roadmap
runtime
runtimes
sandboxed
sarabala1979
simster7
stateful
stderr
tczhao
terrytangyuan
themself
un-reconciled
untracked
v1
v1.0
v1.1
Expand Down Expand Up @@ -234,6 +214,8 @@ webHDFS
webhook
webhooks
workflow-controller-configmap
WorkflowTemplate
WorkflowTemplates
yaml
idempotence
kube-scheduler
Expand All @@ -246,5 +228,4 @@ vendored
nix.conf
LDFlags
dev
vendorSha256
dependabot
Loading

0 comments on commit 8210a1e

Please sign in to comment.