Skip to content

Workflow file for this run

name: Test Code Samples (GA)
on:
push:
branches: ["release/3.*"]
pull_request:
branches: ["release/3.*"]
env:
CB_EDITION: couchbase/server:enterprise
CB_BUILD: 7.1.2
jobs:
# The pre_job uses a smart Github action that will check the provided path filters
# to determine if subsequent jobs should be "skipped" when the filters don't apply.
# This ensures that our Github branch protection rules are still satisfied and users
# can merge their PRs with skipped status checks where appropriate.
# It also provides the ability to cancel outdated workflow runs after branch pushes.
# https://github.com/marketplace/actions/skip-duplicate-actions
pre_job:
runs-on: ubuntu-latest
# Map a step output to a job output
outputs:
should_skip: ${{ steps.skip_check.outputs.should_skip }}
steps:
- id: skip_check
uses: fkirc/skip-duplicate-actions@master
with:
cancel_others: "true" # cancel previous workflow runs when pushing a new commit.
paths: '["**/Makefile", "modules/test/**", "**/*.java", "**/pom.xml"]'
test:
needs: pre_job
if: ${{ needs.pre_job.outputs.should_skip != 'true' }}
runs-on: ubuntu-latest
env:
working-directory: ./
steps:
- name: Checkout actions
uses: actions/checkout@v2
- name: Build Couchbase Docker image
run: CB_EDITION=${{ env.CB_EDITION }} CB_BUILD=${{ env.CB_BUILD }} make cb-build
working-directory: ${{ env.working-directory }}
- name: Run Couchbase Server+SDK container
run: make cb-start
working-directory: ${{ env.working-directory }}
- name: Test code samples
run: make tests
working-directory: ${{ env.working-directory }}
- name: Cleanup
run: make cb-stop
working-directory: ${{ env.working-directory }}
- name: Notify slack on failure
# We run this step only on the default 3.1+ branch
# because secrets are not accessible on PRs from forks.
# Therefore, this notification will only happen when a PR is merged.
if: failure() && startsWith(github.ref, 'refs/heads/release/3.*')
uses: 8398a7/action-slack@v3
with:
status: ${{ job.status }}
author_name: ":octocat: SDK Automation Failure"
text: ":no_entry: Oh noes! The commit has broken the build...please verify :paddlin:"
fields: repo,workflow,job,commit,author
mention: here
if_mention: failure
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}