Skip to content

Require safe-to-test label for CI to run #140

Require safe-to-test label for CI to run

Require safe-to-test label for CI to run #140

Workflow file for this run

# Copyright 2019 Iguazio
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
name: CI-PR
on:
pull_request_target:
workflow_dispatch:
jobs:
fail-if-unsafe:
runs-on: ubuntu-latest
if: ${{ !contains( github.event.pull_request.labels.*.name, 'safe-to-test') }}
steps:
- name: Fail if not marked as safe to test
run: |
echo "CI will not run on a PR unless it has the safe-to-test label applied"
exit 1
lint:
name: Lint code
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
ref: refs/pull/${{ github.event.number }}/merge
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: 3.8
cache: pip
- name: Install dependencies
run: make dev-env
- name: Lint
run: make lint
test:
name: Tests
runs-on: [ self-hosted, Linux ]
if: ${{ contains( github.event.pull_request.labels.*.name, 'safe-to-test') }}
container:
image: python:3.9.18
credentials:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN_PUBLIC }}
steps:
- uses: actions/checkout@v3
with:
ref: refs/pull/${{ github.event.number }}/merge
- name: Install dependencies
run: make dev-env
- name: Run tests
run: make test
env:
V3IO_API: ${{ secrets.V3IO_API }}
V3IO_ACCESS_KEY: ${{ secrets.V3IO_ACCESS_KEY }}