starchart/.github/workflows/linux.yml

124 lines
4.4 KiB
YAML
Raw Normal View History

2022-03-27 22:02:31 +05:30
name: Build
on:
pull_request:
types: [opened, synchronize, reopened]
push:
branches:
- master
jobs:
build_and_test:
strategy:
fail-fast: false
matrix:
version:
- stable
# - nightly
name: ${{ matrix.version }} - x86_64-unknown-linux-gnu
2022-04-13 12:19:42 +05:30
runs-on:
ubuntu-latest
2022-03-27 22:02:31 +05:30
# services:
# postgres:
# image: postgres
# env:
# POSTGRES_PASSWORD: password
# POSTGRES_USER: postgres
# POSTGRES_DB: postgres
# options: >-
# --health-cmd pg_isready
# --health-interval 10s
# --health-timeout 5s
# --health-retries 5
# ports:
# - 5432:5432
#
steps:
- uses: actions/checkout@v2
- name: ⚡ Cache
2022-04-13 15:44:20 +05:30
uses: actions/cache@v3
2022-03-27 22:02:31 +05:30
with:
path: |
/var/lib/docker
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
# - name: Login to DockerHub
# if: (github.ref == 'refs/heads/master' || github.event_name == 'push') && github.repository == 'forgeflux-org/starchart'
2022-03-27 22:02:31 +05:30
# uses: docker/login-action@v1
# with:
# username: ${{ secrets.DOCKERHUB_USERNAME }}
# password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Install ${{ matrix.version }}
uses: actions-rs/toolchain@v1
with:
toolchain: ${{ matrix.version }}-x86_64-unknown-linux-gnu
profile: minimal
override: true
2022-04-06 10:22:08 +05:30
- name: load env
run: |
2022-04-13 15:01:17 +05:30
mkdir -p db/db-sqlx-sqlite/tmp &&
2022-04-06 10:22:08 +05:30
source .env-sample \
&& echo "POSTGRES_DATABASE_URL=$POSTGRES_DATABASE_URL" >> $GITHUB_ENV \
&& echo "SQLITE_DATABASE_URL=$SQLITE_DATABASE_URL" >> $GITHUB_ENV
2022-04-13 15:01:17 +05:30
- name: run migrations
run: make migrate
env:
GIT_HASH: 8e77345f1597e40c2e266cb4e6dee74888918a61 # dummy value
POSTGRES_DATABASE_URL: "${{ env.POSTGRES_DATABASE_URL }}"
SQLITE_DATABASE_URL: "${{ env.SQLITE_DATABASE_URL }}"
2022-03-27 22:02:31 +05:30
- name: build
2022-04-13 12:19:42 +05:30
run:
make
2022-04-13 15:01:17 +05:30
env:
POSTGRES_DATABASE_URL: "${{ env.POSTGRES_DATABASE_URL }}"
SQLITE_DATABASE_URL: "${{ env.SQLITE_DATABASE_URL }}"
2022-03-27 22:02:31 +05:30
2022-04-13 12:19:42 +05:30
# - name: build docker images
# if: matrix.version == 'stable'
# run: make docker
#
# - name: publish docker images
# if: matrix.version == 'stable' && (github.ref == 'refs/heads/master' || github.event_name == 'push') && github.repository == 'forgeflux-org/starchart'
# run: make docker-publish
#
2022-03-27 22:02:31 +05:30
- name: run tests
timeout-minutes: 40
2022-04-13 12:19:42 +05:30
run:
make test
env:
GIT_HASH: 8e77345f1597e40c2e266cb4e6dee74888918a61 # dummy value
POSTGRES_DATABASE_URL: "${{ env.POSTGRES_DATABASE_URL }}"
SQLITE_DATABASE_URL: "${{ env.SQLITE_DATABASE_URL }}"
2022-03-27 22:02:31 +05:30
- name: generate documentation
if: matrix.version == 'stable' && (github.ref == 'refs/heads/master' || github.event_name == 'push') && github.repository == 'forgeflux-org/starchart'
2022-04-13 12:19:42 +05:30
run:
make doc
env:
GIT_HASH: 8e77345f1597e40c2e266cb4e6dee74888918a61 # dummy value
POSTGRES_DATABASE_URL: "${{ env.POSTGRES_DATABASE_URL }}"
SQLITE_DATABASE_URL: "${{ env.SQLITE_DATABASE_URL }}"
2022-03-27 22:02:31 +05:30
- name: Deploy to GitHub Pages
if: matrix.version == 'stable' && (github.ref == 'refs/heads/master' || github.event_name == 'push') && github.repository == 'forgeflux-org/starchart'
2022-03-27 22:02:31 +05:30
uses: JamesIves/github-pages-deploy-action@3.7.1
with:
branch: gh-pages
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
2022-04-13 12:19:42 +05:30
FOLDER:
./target/doc/
2022-03-27 22:02:31 +05:30
# - name: deploy
# if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' && github.repository == 'realaravinth/realaravinth' }}
# run: >-
# curl --location --request POST "https://deploy.batsense.net/api/v1/update" --header 'Content-Type: application/json' --data-raw "{ \"secret\": \"${{ secrets.DEPLOY_TOKEN }}\", \"branch\": \"gh-pages\" }"