diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index 5ad09809..9b5b8a56 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -5,6 +5,23 @@ "USE_GITHUB_APP_TOKEN": "${{ inputs.use_github_app_token }}" "jobs": "check": + "container": + "image": "${{ inputs.build_image }}" + "env": + "BUILD_IN_CONTAINER": false + "SKIP_VALIDATION": "${{ inputs.skip_validation }}" + "needs": + - "checkFiles" + - "faillint" + - "golangciLint" + - "lintFiles" + "runs-on": "ubuntu-latest" + "steps": + - "if": "${{ !fromJSON(env.SKIP_VALIDATION) }}" + "name": "checks passed" + "run": | + echo "All linting and checks passed" + "checkFiles": "container": "image": "${{ inputs.build_image }}" "env": @@ -171,22 +188,6 @@ - "if": "${{ !fromJSON(env.SKIP_VALIDATION) }}" "name": "integration" "run": "make test-integration" - "lint": - "container": - "image": "${{ inputs.build_image }}" - "env": - "BUILD_IN_CONTAINER": false - "SKIP_VALIDATION": "${{ inputs.skip_validation }}" - "needs": - - "golangciLint" - - "lintFiles" - - "faillint" - "runs-on": "ubuntu-latest" - "steps": - - "if": "${{ !fromJSON(env.SKIP_VALIDATION) }}" - "name": "linting passed" - "run": | - echo "All linting checks passed" "lintFiles": "container": "image": "${{ inputs.build_image }}" @@ -236,10 +237,10 @@ "BUILD_IN_CONTAINER": false "SKIP_VALIDATION": "${{ inputs.skip_validation }}" "needs": + - "integration" + - "testLambdaPromtail" - "testPackages" - "testPushPackage" - - "testLambdaPromtail" - - "integration" "runs-on": "ubuntu-latest" "steps": - "if": "${{ !fromJSON(env.SKIP_VALIDATION) }}" @@ -282,12 +283,6 @@ - "if": "${{ !fromJSON(env.SKIP_VALIDATION) }}" "name": "test ${{ matrix.package }}" "run": | - echo "current directory:" - pwd - echo "\ncurrent directory contents:" - ls - echo "\npackage directory contents:" - ls ./${{ matrix.package }} gotestsum -- -covermode=atomic -coverprofile=coverage.txt -p=4 ./${{ matrix.package }}/... "strategy": "matrix": diff --git a/workflows/validate.libsonnet b/workflows/validate.libsonnet index 378e98e8..920799be 100644 --- a/workflows/validate.libsonnet +++ b/workflows/validate.libsonnet @@ -54,6 +54,13 @@ local validationJob = _validationJob(false); packages: '${{ steps.gather-tests.outputs.packages }}', }), + integration: validationJob + + job.withSteps([ + common.checkout, + common.fixDubiousOwnership, + validationMakeStep('integration', 'test-integration'), + ]), + testPackages: validationJob + job.withNeeds(['collectPackages']) + job.withStrategy({ @@ -67,27 +74,10 @@ local validationJob = _validationJob(false); step.new('test ${{ matrix.package }}') + step.withIf('${{ !fromJSON(env.SKIP_VALIDATION) }}') + step.withRun(||| - echo "current directory:" - pwd - echo "\ncurrent directory contents:" - ls - echo "\npackage directory contents:" - ls ./${{ matrix.package }} gotestsum -- -covermode=atomic -coverprofile=coverage.txt -p=4 ./${{ matrix.package }}/... |||), ]), - testPushPackage: validationJob - + job.withSteps([ - common.checkout, - common.fixDubiousOwnership, - step.new('test push package') - + step.withIf('${{ !fromJSON(env.SKIP_VALIDATION) }}') - + step.withWorkingDirectory('pkg/push') - + step.withRun(||| - gotestsum -- -covermode=atomic -coverprofile=coverage.txt -p=4 ./... - |||), - ]), testLambdaPromtail: validationJob + job.withSteps([ @@ -101,15 +91,25 @@ local validationJob = _validationJob(false); |||), ]), - integration: validationJob - + job.withSteps([ - common.checkout, - common.fixDubiousOwnership, - validationMakeStep('integration', 'test-integration'), - ]), + testPushPackage: validationJob + + job.withSteps([ + common.checkout, + common.fixDubiousOwnership, + step.new('test push package') + + step.withIf('${{ !fromJSON(env.SKIP_VALIDATION) }}') + + step.withWorkingDirectory('pkg/push') + + step.withRun(||| + gotestsum -- -covermode=atomic -coverprofile=coverage.txt -p=4 ./... + |||), + ]), test: validationJob - + job.withNeeds(['testPackages', 'testPushPackage', 'testLambdaPromtail', 'integration']) + + job.withNeeds([ + 'integration', + 'testLambdaPromtail', + 'testPackages', + 'testPushPackage', + ]) + job.withSteps([ step.new('tests passed') + step.withIf('${{ !fromJSON(env.SKIP_VALIDATION) }}') @@ -118,18 +118,38 @@ local validationJob = _validationJob(false); |||), ]), - golangciLint: setupValidationDeps( + checkFiles: setupValidationDeps( validationJob - + job.withSteps( - [ - step.new('golangci-lint', 'golangci/golangci-lint-action@08e2f20817b15149a52b5b3ebe7de50aff2ba8c5') + + job.withSteps([ + validationMakeStep('check generated files', 'check-generated-files'), + validationMakeStep('check mod', 'check-mod'), + validationMakeStep('check docs', 'check-doc'), + validationMakeStep('validate example configs', 'validate-example-configs'), + validationMakeStep('validate dev cluster config', 'validate-dev-cluster-config'), + validationMakeStep('check example config docs', 'check-example-config-doc'), + validationMakeStep('check helm reference doc', 'documentation-helm-reference-check'), + validationMakeStep('check drone drift', 'check-drone-drift'), + ]) + { + steps+: [ + step.new('build docs website') + step.withIf('${{ !fromJSON(env.SKIP_VALIDATION) }}') - + step.with({ - version: '${{ inputs.golang_ci_lint_version }}', - 'only-new-issues': true, - }), + + step.withRun(||| + cat <