Add support to run build on Container image used by release pipeline #1990
Workflow file for this run
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 Replication plugin | |
# This workflow is triggered on pull requests to main branch | |
on: | |
pull_request: | |
branches: | |
- '*' | |
push: | |
branches: | |
- '*' | |
# We build for other platforms except linux which is already covered in build-and-test. | |
# Also, We're not running tests here as those are already covered with linux build. | |
jobs: | |
Get-CI-Image-Tag: | |
uses: opensearch-project/opensearch-build/.github/workflows/get-ci-image-tag.yml@main | |
with: | |
product: opensearch | |
build-linux: | |
strategy: | |
matrix: | |
java: [11, 17] | |
name: Build and Test CCR Plugin on Linux | |
runs-on: ubuntu-latest | |
needs: Get-CI-Image-Tag | |
container: | |
# using the same image which is used by opensearch-build team to build the OpenSearch Distribution | |
# this image tag is subject to change as more dependencies and updates will arrive over time | |
image: ${{ needs.Get-CI-Image-Tag.outputs.ci-image-version-linux }} | |
# need to switch to root so that github actions can install runner binary on container without permission issues. | |
options: --user root | |
steps: | |
- name: Checkout CCR | |
uses: actions/checkout@v2 | |
- name: Setup Java ${{ matrix.java }} | |
uses: actions/setup-java@v1 | |
with: | |
java-version: ${{ matrix.java }} | |
- name: Run build | |
# switching the user, as OpenSearch cluster can only be started as root/Administrator on linux-deb/linux-rpm/windows-zip. | |
run: | | |
chown -R 1000:1000 `pwd` | |
su `id -un 1000` -c 'whoami && java -version && ./gradlew --refresh-dependencies clean release -D"build.snapshot=true" -x test -x IntegTest' | |
- name: Upload Coverage Report | |
uses: codecov/codecov-action@v1 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
build: | |
continue-on-error: true | |
strategy: | |
matrix: | |
java: | |
- 17 | |
os: | |
- windows-latest | |
- macos-latest | |
# Job name | |
name: Java ${{ matrix.java }} On ${{ matrix.os }} | |
runs-on: ${{ matrix.os }} | |
steps: | |
# This step uses the setup-java Github action: https://github.com/actions/setup-java | |
- name: Set Up JDK ${{ matrix.java }} | |
uses: actions/setup-java@v1 | |
with: | |
java-version: ${{ matrix.java }} | |
# This step uses the checkout Github action: https://github.com/actions/checkout | |
- name: Checkout Branch | |
uses: actions/checkout@v2 | |
- name: Build and run Replication tests | |
run: | | |
./gradlew --refresh-dependencies clean release -D"build.snapshot=true" -x test -x IntegTest |