aboutsummaryrefslogtreecommitdiffstats
path: root/.github/workflows/nightly_build.yml
blob: 58e4952b4d0e3d287fa96aa85367ee95d248cf1d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
name: Nightly-Build  # workflow used to upload built binaries to s3
on:
  workflow_dispatch:
    inputs:
      runner_label:
        type: string
        default: "auto-provisioned"
        description: "runner label"
      commit_sha:
        type: string
        default: ""
jobs:
  build_and_test:
    strategy:
      fail-fast: false
      matrix:
        build_preset: ["release", "relwithdebinfo", "release-asan"]
    runs-on: [ self-hosted, auto-provisioned, "${{ format('build-preset-{0}', matrix.build_preset) }}" ]
    name: Build and test ${{ matrix.build_preset }}
    steps:
    - name: Checkout
      uses: actions/checkout@v4
      with:
        ref: ${{ inputs.commit_sha }}
        fetch-depth: 2
    - name: Setup ydb access
      uses: ./.github/actions/setup_ci_ydb_service_account_key_file_credentials
      with:
        ci_ydb_service_account_key_file_credentials: ${{ secrets.CI_YDB_SERVICE_ACCOUNT_KEY_FILE_CREDENTIALS }}
    - name: Build and test
      uses: ./.github/actions/build_and_test_ya
      with:
        build_preset: ${{ matrix.build_preset }}
        build_target: "ydb/apps/ydbd"
        increment: false
        run_tests: false
        put_build_results_to_cache: false
        secs: ${{ format('{{"TESTMO_TOKEN2":"{0}","AWS_KEY_ID":"{1}","AWS_KEY_VALUE":"{2}","REMOTE_CACHE_USERNAME":"{3}","REMOTE_CACHE_PASSWORD":"{4}"}}',
          secrets.TESTMO_TOKEN2, secrets.AWS_KEY_ID, secrets.AWS_KEY_VALUE, secrets.REMOTE_CACHE_USERNAME, secrets.REMOTE_CACHE_PASSWORD ) }}
        vars: ${{ format('{{"AWS_BUCKET":"{0}","AWS_ENDPOINT":"{1}","REMOTE_CACHE_URL":"{2}","TESTMO_URL":"{3}","TESTMO_PROJECT_ID":"{4}"}}',
          vars.AWS_BUCKET, vars.AWS_ENDPOINT, vars.REMOTE_CACHE_URL_YA, vars.TESTMO_URL, vars.TESTMO_PROJECT_ID ) }}
    - name: Setup s3cmd
      uses: ./.github/actions/s3cmd
      with:
        s3_bucket: "ydb-builds"
        s3_endpoint: ${{ vars.AWS_ENDPOINT }}
        s3_key_id: ${{ secrets.AWS_KEY_ID }}
        s3_key_secret: ${{ secrets.AWS_KEY_VALUE }}
    
    - name: sync results to s3 and publish links
      shell: bash
      run: |
        set -x
        s3cmd sync --follow-symlinks --acl-public --no-progress --stats --no-check-md5 "ydb/apps/ydbd/ydbd" "s3://ydb-builds/${{ github.ref_name }}/${{ matrix.build_preset }}/ydbd" -d