Skip to content

ci: Temp skip of cache-related tests (#796) #38

ci: Temp skip of cache-related tests (#796)

ci: Temp skip of cache-related tests (#796) #38

Workflow file for this run

# master only
name: Integrate
on:
push:
branches: [master]
env:
FORCE_COLOR: 1
jobs:
windowsNode14:
name: '[Windows] Node.js v14: Unit tests'
runs-on: windows-latest
strategy:
matrix:
sls-version: [2, 3]
pipenv-version: ['2022.8.5', '2022.8.13']
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Retrieve dependencies from cache
id: cacheNpm
uses: actions/cache@v2
with:
path: |
~/.npm
node_modules
key: npm-v14-${{ runner.os }}-${{ github.ref }}-${{ hashFiles('package.json') }}
restore-keys: npm-v14-${{ runner.os }}-${{ github.ref }}-
- name: Set up Python 3.7
uses: actions/setup-python@v2
with:
python-version: 3.7
- name: Install Node.js and npm
uses: actions/setup-node@v1
with:
node-version: 14.x
- name: Check python version
run: |
python --version
- name: Install setuptools
run: python -m pip install --force setuptools wheel
- name: Install pipenv / poetry
run: python -m pip install pipenv==${{ matrix.pipenv-version }} poetry
- name: Install serverless
run: npm install -g serverless@${{ matrix.sls-version }}
- name: Install dependencies
if: steps.cacheNpm.outputs.cache-hit != 'true'
run: |
npm update --no-save
npm update --save-dev --no-save
- name: Unit tests
run: npm test
linuxNode14:
name: '[Linux] Node.js 14: Unit tests'
runs-on: ubuntu-latest
strategy:
matrix:
sls-version: [2, 3]
pipenv-version: ['2022.8.5', '2022.8.13']
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Retrieve dependencies from cache
id: cacheNpm
uses: actions/cache@v2
with:
path: |
~/.npm
node_modules
key: npm-v14-${{ runner.os }}-${{ github.ref }}-${{ hashFiles('package.json') }}
restore-keys: npm-v14-${{ runner.os }}-${{ github.ref }}-
- name: Set up Python 3.7
uses: actions/setup-python@v2
with:
python-version: 3.7
- name: Install Node.js and npm
uses: actions/setup-node@v1
with:
node-version: 14.x
- name: Check python version
run: |
python --version
- name: Install setuptools
run: python -m pip install --force setuptools wheel
- name: Install pipenv / poetry
run: python -m pip install pipenv==${{ matrix.pipenv-version }} poetry
- name: Install serverless
run: npm install -g serverless@${{ matrix.sls-version }}
- name: Install dependencies
if: steps.cacheNpm.outputs.cache-hit != 'true'
run: |
npm update --no-save
npm update --save-dev --no-save
- name: Unit tests
run: npm test
tagIfNewVersion:
name: Tag if new version
runs-on: ubuntu-latest
needs: [windowsNode14, linuxNode14]
steps:
- name: Checkout repository
uses: actions/checkout@v2
with:
# Ensure to have complete history of commits pushed with given push operation
# It's loose and imperfect assumption that no more than 30 commits will be pushed at once
fetch-depth: 30
# Tag needs to be pushed with real user token, otherwise pushed tag won't trigger the actions workflow
# Hence we're passing 'serverless-ci' user authentication token
token: ${{ secrets.USER_GITHUB_TOKEN }}
- name: Tag if new version
run: |
NEW_VERSION=`git diff -U0 ${{ github.event.before }} package.json | grep '"version": "' | tail -n 1 | grep -oE "[0-9]+\.[0-9]+\.[0-9]+"` || :
if [ -n "$NEW_VERSION" ];
then
git tag v$NEW_VERSION
git push --tags
fi