Skip to content

Bump actions/download-artifact from 2 to 4.1.7 in /.github/workflows #9

Bump actions/download-artifact from 2 to 4.1.7 in /.github/workflows

Bump actions/download-artifact from 2 to 4.1.7 in /.github/workflows #9

Workflow file for this run

name: CI
on:
push:
paths-ignore:
- "README.md"
- "docs/readme.md"
pull_request:
paths-ignore:
- "README.md"
- "docs/readme.md"
release:
types: [published]
jobs:
pre-commit:
name: Run pre-commit
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Set up Python 3.7
uses: actions/setup-python@v2
with:
python-version: 3.7
- name: Install dependencies
run: |
python -m pip install pip -U
pip install tox
- name: Run pre-commit
env:
TOXENV: pre-commit
run: tox
pack:
name: Pack the Shell
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Set up Python 3.7
uses: actions/setup-python@v2
with:
python-version: 3.7
- name: Install dependencies
run: |
python -m pip install pip -U
pip install tox
- name: Build
env:
TOXENV: pack
run: tox
download-linux-dependencies:
name: Download Linux dependencies
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.7", "3.9"]
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Download dependencies
run: |
python -m pip install pip -U
pip download -r src/requirements.txt -d dependencies
- name: Upload artifacts
uses: actions/upload-artifact@v2
with:
name: linux-dependencies
path: |
dependencies
download-windows-dependencies:
name: Download Windows dependencies
runs-on: windows-2019
strategy:
matrix:
python-version: ["3.7", "3.9"]
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
architecture: "x86"
- name: Download dependencies
run: |
python -m pip install pip -U
pip download -r src/requirements.txt -d dependencies
- name: Upload artifacts
uses: actions/upload-artifact@v2
with:
name: windows-dependencies
path: |
dependencies
check-version:
name: Check version
# only for PRs in master
if: ${{ github.base_ref == 'master' }}
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Get current version
id: currentVersion
uses: mikefarah/yq@master
with:
cmd: yq e ".metadata.template_version" shell-definition.yaml
- name: Save shell-definition.yaml from master
run: |
git clone https://github.com/${{ github.repository }}.git ${{ github.repository }}
BASE_DIR=`pwd`
cd ${{ github.repository }}
git checkout -qf ${{ github.head_ref }}
git show master:shell-definition.yaml > $BASE_DIR/tmp.yaml
- name: Get master version
id: masterVersion
uses: mikefarah/yq@master
with:
cmd: yq e ".metadata.template_version" tmp.yaml
- name: Check version
run: |
! diff <(echo "${{ steps.currentVersion.outputs.result }}") <(echo "${{ steps.masterVersion.outputs.result }}")
check-not-shell-in-shell-name:
name: Check "Shell" is not in the Shell name
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: get Node Type
id: getNodeType
uses: mikefarah/yq@master
with:
cmd: yq e ".node_types | keys | .[0]" shell-definition.yaml
- name: Check shell is not in the Shell name
run: |
NODE_TYPE="${{ steps.getNodeType.outputs.result }}"
SHELL_NAME=`echo ${NODE_TYPE:16} | tr "[:upper:]" "[:lower:]"`
if [[ $SHELL_NAME == *" shell "* ]]
then
echo "You should remove 'Shell' from the Shell name"
exit 1
else
echo "not found"
fi
create-gh-release:
needs: [pre-commit, pack, download-linux-dependencies, download-windows-dependencies]
if: ${{ github.ref == 'refs/heads/master' && github.event_name == 'push' }}
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Set up Python 3.7
uses: actions/setup-python@v2
with:
python-version: 3.7
- name: Install dependencies
run: |
sudo apt-get -y install jq
python -m pip install pip -U
pip install tox yq
- name: Pack
env:
TOXENV: pack
run: tox
- name: Get Linux dependencies
uses: actions/[email protected]
with:
name: linux-dependencies
path: linux-dependencies
- name: Get Windows dependencies
uses: actions/[email protected]
with:
name: windows-dependencies
path: windows-dependencies
- name: Set envs
run: |
version="$(yq -r .metadata.template_version shell-definition.yaml)"
repo_owner=${{ github.repository }}
index=`expr index "$repo_owner" /`
repo=${repo_owner:index}
echo "TAG=$version" >> $GITHUB_ENV
echo "REPO=$repo" >> $GITHUB_ENV
- name: Pack dependencies
run: |
zip -j dist/cloudshell-$REPO-dependencies-win-package-$TAG.zip windows-dependencies/*
zip -j dist/cloudshell-$REPO-dependencies-linux-package-$TAG.zip linux-dependencies/*
- name: Create GitHub release
uses: ncipollo/release-action@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
artifacts: "dist/*"
draft: true
name: ${{ env.REPO }} ${{ env.TAG }}
tag: ${{ env.TAG }}
commit: master