Remove deprecated performance and SQL log formatter guides; update co… #276
This file contains hidden or 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
name: Crystal CI | |
on: | |
push: | |
branches: [master] | |
pull_request: | |
branches: [master] | |
permissions: | |
contents: write | |
pages: write | |
id-token: write | |
concurrency: | |
group: "pages" | |
cancel-in-progress: false | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
container: | |
image: crystallang/crystal:1.16.3 | |
services: | |
postgres: | |
image: postgres | |
ports: | |
- 5432:5432 | |
env: | |
POSTGRES_USER: example | |
POSTGRES_PASSWORD: example | |
POSTGRES_DB: example | |
options: >- | |
--health-cmd="pg_isready -U postgres" | |
--health-interval=10s | |
--health-timeout=5s | |
--health-retries=5 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Update package list and install SQLite and development files | |
run: | | |
apt-get update | |
apt-get install -y sqlite3 libsqlite3-dev | |
apt-get install -y postgresql-client mysql-client | |
- name: Verify SQLite installation | |
run: sqlite3 --version | |
- name: Create SQLite databases | |
run: | | |
touch ./spec/support/db/northwind.db | |
touch ./spec/support/db/data.db | |
touch ./spec/support/db/billing.db | |
touch ./spec/support/db/tabledb.db | |
chmod 664 ./spec/support/db/northwind.db | |
chmod 664 ./spec/support/db/data.db | |
chmod 664 ./spec/support/db/billing.db | |
chmod 664 ./spec/support/db/tabledb.db | |
- name: Install shards | |
run: shards install --ignore-crystal-version | |
- name: Check formatting | |
run: crystal tool format --check ./src | |
- name: Check code linting with Ameba | |
run: bin/ameba -f progress ./src ./spec | |
- name: Wait for Postgres | |
run: | | |
for i in {1..30}; do | |
pg_isready -h postgres -U example && break | |
echo "Waiting for postgres..." | |
sleep 1 | |
done | |
- name: Run tests | |
env: | |
DATABASE_URL: postgres://example:example@postgres:5432/example | |
run: crystal spec | |
release: | |
runs-on: ubuntu-latest | |
needs: | |
- build | |
if: ${{ success() }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
with: | |
fetch-depth: 0 | |
- name: Compute Release Version | |
id: semver | |
uses: paulhatch/semantic-version@v4.0.2 | |
with: | |
tag_prefix: "v" | |
major_pattern: "(MAJOR)" | |
minor_pattern: "(MINOR)" | |
# A string to determine the format of the version output | |
format: "${major}.${minor}.${patch}" | |
# If this is set to true, *every* commit will be treated as a new version. | |
bump_each_commit: true | |
- name: Bump Shard Version | |
id: bump-shard | |
uses: fjogeleit/yaml-update-action@master | |
with: | |
valueFile: shard.yml | |
propertyPath: version | |
value: ${{steps.semver.outputs.version}} | |
branch: master | |
updateFile: true | |
message: Set shard version ${{ steps.semver.outputs.version }} | |
- name: Create Release | |
id: create_release | |
uses: actions/create-release@latest | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
tag_name: ${{steps.semver.outputs.version_tag}} | |
release_name: Release v${{steps.semver.outputs.version}} | |
draft: false | |
prerelease: false |