ui: add workflow sharing modal #614
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
# This file is part of REANA. | |
# Copyright (C) 2020, 2022 CERN. | |
# | |
# REANA is free software; you can redistribute it and/or modify it | |
# under the terms of the MIT License; see LICENSE file for more details. | |
name: CI | |
on: [push, pull_request] | |
jobs: | |
lint-shellcheck: | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Run shell script static analysis | |
run: | | |
sudo apt-get install shellcheck | |
./run-tests.sh --check-shellscript | |
docs-sphinx: | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Setup Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: 3.8 | |
- name: Install system dependencies | |
run: sudo apt-get update -y | |
- name: Install Python dependencies | |
run: | | |
pip install --upgrade pip | |
pip install -r docs/requirements.txt | |
- name: Run Sphinx documentation with doctests | |
run: ./run-tests.sh --check-sphinx | |
format-prettier: | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Setup node | |
uses: actions/setup-node@v3 | |
with: | |
node-version: "18" | |
- name: Install project dependencies | |
run: yarn global add prettier | |
- name: Run prettier code formatter | |
run: ./run-tests.sh --check-prettier | |
lint-js: | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Setup node | |
uses: actions/setup-node@v3 | |
with: | |
node-version: "18" | |
- name: Install project dependencies | |
run: yarn global add eslint | |
- name: Run prettier code formatter | |
run: ./run-tests.sh --check-lint | |
js-tests: | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Setup node | |
uses: actions/setup-node@v3 | |
with: | |
node-version: "18" | |
- name: Install project dependencies | |
run: yarn | |
- name: Run JavaScript tests | |
run: ./run-tests.sh --check-js-tests | |
lint-dockerfile: | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Check Dockerfile compliance | |
run: ./run-tests.sh --check-dockerfile | |
docker-build: | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Build Docker image | |
run: ./run-tests.sh --check-docker-build | |
release-docker: | |
runs-on: ubuntu-20.04 | |
if: > | |
vars.RELEASE_DOCKER == 'true' && | |
github.event_name == 'push' && | |
startsWith(github.ref, 'refs/tags/') | |
needs: | |
- docs-sphinx | |
- format-prettier | |
- js-tests | |
- lint-dockerfile | |
- lint-js | |
- lint-shellcheck | |
steps: | |
- name: Release Docker image | |
uses: reanahub/reana-github-actions/release-docker@v1 | |
with: | |
username: ${{ secrets.DOCKER_USER }} | |
token: ${{ secrets.DOCKER_TOKEN }} | |
organisation: ${{ vars.DOCKER_ORGANISATION }} | |
registry: ${{ vars.DOCKER_REGISTRY }} | |
platform: | | |
linux/amd64 | |
linux/arm64 |