diff --git a/.github/workflows/build-any-ib.yml b/.github/workflows/build-any-ib.yml new file mode 100644 index 00000000..27898171 --- /dev/null +++ b/.github/workflows/build-any-ib.yml @@ -0,0 +1,64 @@ +--- +# Launch the build-any-ib job in Jenkins +name: Build any IB + +'on': + workflow_dispatch: + inputs: + package_name: + type: string + description: Name of the package to build + default: 'O2' + alidist_slug: + type: string + description: Alidist version to use for the package (group/repo[@branch]) + default: 'alisw/alidist@master' + architecture: + type: choice + description: Architecture to build the package for + default: 'latest' + options: + +permissions: {} + +jobs: + build-any-ib: + runs-on: ubuntu-latest + + env: + # --- Jenkins and SSO params --- + JENKINS_URL: ${{ secrets.JENKINS_URL }} + SSO_AUTH_URL: ${{ secrets.SSO_AUTH_URL }} + CLIENT_ID: ${{ secrets.SSO_JENKINS_API_CLIENT_ID }} + CLIENT_SECRET: ${{ secrets.SSO_JENKINS_API_CLIENT_SECRET }} + TARGET_APP: ${{ secrets.SSO_JENKINS_API_TARGET_APP }} + JOB_NAME: 'build-any-ib' + + # --- build-any-ib build params --- + # ALIBUILD_SLUG: ${{ inputs.alibuild_slug }} + ALIDIST_SLUG: ${{ inputs.alidist_slug }} + ARCHITECTURE: ${{ inputs.architecture }} + PACKAGE_NAME: ${{ inputs.package_name }} + # OVERRIDE_TAGS: ${{ inputs.override_tags }} + # OVERRIDE_VERSIONS: ${{ inputs.override_versions }} + # DEFAULTS: "o2" + # PUBLISH_BUILDS: "true" + # USE_REMOTE_STORE: "true" + + steps: + - name: Launch the build-any-ib job in Jenkins + run: | + # Login against SSO + TOKEN="$(curl --location -X POST "$SSO_AUTH_URL" \ + --header 'Content-Type: application/x-www-form-urlencoded' \ + --data-urlencode 'grant_type=client_credentials' \ + --data-urlencode "client_id=$CLIENT_ID" \ + --data-urlencode "client_secret=$CLIENT_SECRET" \ + --data-urlencode "audience=$TARGET_APP" | jq -r '.access_token')" + + # Trigger the Jenkins job + curl "$JENKINS_URL/job/$JOB_NAME/buildWithParameters" \ + -H "Authorization: Bearer $TOKEN" \ + --data "PACKAGE_NAME=$PACKAGE_NAME" \ + --data "ALIDIST_SLUG=$ALIDIST_SLUG" \ + --data "ARCHITECTURE=$ARCHITECTURE"