Build #3422
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: "Build" | |
on: | |
push: | |
tags: [ '*' ] | |
branches: [ '*' ] | |
schedule: | |
- cron: '10 1 * * *' | |
workflow_dispatch: { } | |
jobs: | |
init: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: milaboratory/github-ci/actions/context/init@v4 | |
with: | |
version-canonize: false | |
- id: context | |
uses: milaboratory/github-ci/actions/context@v4 | |
outputs: | |
is-release: ${{ steps.context.outputs.is-release }} | |
run: | |
needs: | |
- init | |
uses: milaboratory/github-ci/.github/workflows/java-gradle.yaml@v4 | |
with: | |
# Environment | |
java-version: '11' | |
product-name: MiXCR | |
product-name-slug: 'mixcr' | |
# Tests | |
test-unit: true | |
test-unit-before-tasks: shadowJarAfterObfuscation | |
test-unit-cache: true | |
test-unit-cache-paths: | | |
./src/test/resources/sequences/big/** | |
test-unit-cache-key: 'tests-sequences-v1' | |
test-integration: true | |
test-integration-before-tasks: shadowJarAfterObfuscation | |
test-integration-tasks: '' | |
test-integration-cache: true | |
test-integration-cache-paths: | | |
./src/test/resources/sequences/big/** | |
test-integration-cache-key: 'tests-sequences-v1' | |
test-integration-python-version: '3.9' | |
test-regression: true | |
test-regression-before-tasks: shadowJarAfterObfuscation | |
test-regression-tasks: '' | |
test-regression-cache: true | |
test-regression-cache-paths: | | |
./src/test/resources/sequences/big/** | |
test-regression-cache-key: 'tests-sequences-v1' | |
# Lib | |
dist-library: ${{ github.event_name != 'schedule' }} | |
dist-library-dev-tasks: publishAllPublicationsToMiprivRepository | |
dist-library-release-tasks: publishAllPublicationsToMiprivRepository | |
# Distribution | |
dist-archive: ${{ github.event_name != 'schedule' }} | |
dist-archive-tasks: distributionZip | |
dist-archive-paths: ./distributions/mixcr*.zip | |
dist-archive-s3: true | |
dist-archive-s3-add-sha: true | |
# Distribution sign | |
sign-dist-archive: ${{ github.event_name != 'schedule' }} | |
# CDN redirect | |
cdn-redirect-s3: true | |
cdn-redirect-s3-bucket-path: 'link/software/mixcr' | |
dist-docker: true | |
dist-docker-tasks: | | |
buildDockerImage | |
buildIMGTDockerImage | |
dist-docker-image-name: mixcr | |
# Release configuration | |
release-github-draft: true | |
# Send notifications | |
notify-telegram: true | |
# NPM publish | |
node-registry-url: 'https://registry.npmjs.org' | |
node-scope: '@platforma-open' | |
publish-to-public: true | |
secrets: | |
env: | | |
{ | |
"MI_LICENSE": ${{ toJSON(secrets.MI_LICENSE) }}, | |
"NPMJS_TOKEN": ${{ toJSON(secrets.NPMJS_TOKEN) }} | |
} | |
GRADLE_PROPERTIES: | | |
org.gradle.caching=true | |
TELEGRAM_NOTIFICATION_TARGET: ${{ secrets.TG_CHANNEL_MIBUILDS }} | |
TELEGRAM_API_TOKEN: ${{ secrets.TG_CI_BOT_TOKEN }} | |
SIGN_DIST_ARCHIVE_S3_IAM_ROLE_TO_ASSUME: ${{ secrets.REGISTRY_IAM_ROLE }} | |
SIGN_DIST_ARCHIVE_S3_BUCKET: ${{ secrets.REGISTRY_S3_BUCKET }} | |
SIGN_GCLOUD_KMS_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.GCLOUD_KMS_WORKLOAD_IDENTITY_PROVIDER }} | |
SIGN_GCLOUD_KMS_SERVICE_ACCOUNT: ${{ secrets.GCLOUD_KMS_SERVICE_ACCOUNT }} | |
SIGN_GCLOUD_KMS_KEYRING: ${{ secrets.GCLOUD_KMS_KEYRING }} | |
SIGN_GCLOUD_KMS_KEY_NAME: ${{ secrets.GCLOUD_KMS_KEY_NAME }} | |
BIN_REGISTRY_S3_BUCKET_URL: ${{ secrets.BIN_REGISTRY_S3_BUCKET_URL }} |