chore: release main #1045
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: Codegen CI | |
on: | |
pull_request: | |
paths: | |
- package.json | |
- packages/sdk-codegen/** | |
- packages/sdk-codegen-utils/** | |
- packages/sdk-codegen-scripts/** | |
- .github/workflows/codegen-ci.yml | |
- yarn.lock | |
push: | |
branches: | |
- main | |
paths: | |
- package.json | |
- packages/sdk-codegen/** | |
- packages/sdk-codegen-utils/** | |
- packages/sdk-codegen-scripts/** | |
- .github/workflows/codegen-ci.yml | |
- yarn.lock | |
workflow_dispatch: | |
env: | |
LOOKERSDK_BASE_URL: https://localhost:20000 | |
LOOKERSDK_VERIFY_SSL: false | |
TS_JUNIT_OUTPUT_DIR: results/sdk-codegen | |
jobs: | |
setup: | |
uses: looker-open-source/reusable-actions/.github/workflows/primary-version.yml@main | |
unit: | |
needs: setup | |
env: | |
JEST_JUNIT_OUTPUT_DIR: results/sdk-codegen | |
JEST_JUNIT_OUTPUT_NAME: ubuntu-latest.sdk-codegen15x.xml | |
LOOKERSDK_CLIENT_ID: ${{ secrets.LOOKERSDK_CLIENT_ID }} | |
LOOKERSDK_CLIENT_SECRET: ${{ secrets.LOOKERSDK_CLIENT_SECRET }} | |
runs-on: ubuntu-latest | |
steps: | |
- name: Repo Checkout | |
uses: actions/checkout@v4 | |
- name: Cancel Previous Runs | |
uses: styfle/cancel-workflow-action@0.12.1 | |
with: | |
access_token: ${{ secrets.GITHUB_TOKEN }} | |
- name: Authenticate to Google Cloud | |
uses: google-github-actions/auth@v2 | |
with: | |
credentials_json: ${{ secrets.GCP_AR_READER_SA_KEY }} | |
project_id: ${{ secrets.GCP_PROJECT_ID }} | |
create_credentials_file: true | |
export_environment_variables: true | |
- name: Set up Cloud SDK | |
uses: google-github-actions/setup-gcloud@v2 | |
- name: Authenticate Artifact Repository | |
run: gcloud auth configure-docker us-west1-docker.pkg.dev --quiet | |
- name: Pull and run Looker docker image | |
# TODO: can we cache some layers of the image for faster download? | |
# we probably don't want to cache the final image for IP security... | |
run: | | |
docker pull --quiet us-west1-docker.pkg.dev/cloud-looker-sdk-codegen-cicd/looker/${{ fromJson(needs.setup.outputs.matrix_json)[0] }} | |
# set $LOOKER_OPTS to --no-ssl if we want to turn off ssl | |
docker run --name looker-sdk-codegen-ci -d -p 10000:9999 -p 20000:19999 us-west1-docker.pkg.dev/cloud-looker-sdk-codegen-cicd/looker/${{ fromJson(needs.setup.outputs.matrix_json)[0] }} | |
docker logs -f looker-sdk-codegen-ci --until=30s & | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 22.x | |
- name: Install dependencies | |
run: | | |
yarn | |
yarn build | |
yarn lint:es --quiet | |
yarn dedupe:ci | |
- name: Mock looker.ini | |
run: | | |
echo "[Looker]" > looker.ini | |
echo "base_url=https://localhost:20000" >> looker.ini | |
echo "verify_ssl=false" >> looker.ini | |
echo "timeout=30" >> looker.ini | |
echo "[Miner]" >> looker.ini | |
echo "base_url=." >> looker.ini | |
- name: Check that Looker is ready | |
run: | | |
${{ github.workspace }}/.github/scripts/wait_for_looker.sh | |
# if this job fails before this point the required state check "Codegen Tests" | |
# is never set, so we will set it manually. | |
- name: Report Failure | |
run: | | |
curl --request POST \ | |
--url https://api.github.com/repos/looker-open-source/sdk-codegen/check-runs \ | |
--header "authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \ | |
--header "content-type: application/json" \ | |
--header "Accept: application/vnd.github.v3+json" \ | |
--data '{ | |
"name": "Codegen Tests", | |
"head_sha": "${{ github.event.pull_request.head.sha || github.sha }}", | |
"conclusion": "failure" | |
}' \ | |
--fail | |
if: failure() | |
- name: Run unit tests | |
# TODO can we use yarn test:gen with the reporters option added to it here? | |
run: yarn jest "packages/sdk-codegen(|-utils|-scripts)/src" --reporters=default --reporters=jest-junit | |
- name: Delete looker.ini mock | |
run: rm looker.ini | |
- name: Upload ts unit test results | |
if: ${{ always() }} | |
uses: actions/upload-artifact@v4 | |
with: | |
name: sdk-codegen-test-results | |
path: results/sdk-codegen | |
publish-test-results: | |
needs: [unit] | |
if: success() || failure() | |
runs-on: ubuntu-latest | |
steps: | |
- name: Download Artifacts | |
uses: actions/download-artifact@v4 | |
with: | |
path: artifacts | |
- name: Publish Unit Test Results | |
uses: EnricoMi/publish-unit-test-result-action@v2 | |
with: | |
# Cosmetic issue with `check_name` being associated to the wrong | |
# workflow: https://github.com/EnricoMi/publish-unit-test-result-action/issues/12 | |
check_name: Codegen Tests | |
github_token: ${{ secrets.GITHUB_TOKEN }} | |
report_individual_runs: true | |
hide_comments: orphaned commits | |
check_run_annotations_branch: '*' | |
files: 'artifacts/sdk-codegen-test-results/*.xml' |