Skip to content

Commit

Permalink
feat: Add Github CI
Browse files Browse the repository at this point in the history
  • Loading branch information
patrick-zippenfenig committed Sep 26, 2024
1 parent 8e44041 commit f61050d
Show file tree
Hide file tree
Showing 4 changed files with 156 additions and 19 deletions.
19 changes: 0 additions & 19 deletions .circleci/config.yml

This file was deleted.

36 changes: 36 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
name: Release

on:
workflow_dispatch:

# Make sure to add .releaserc and select the right branch

jobs:
release:
name: Release
runs-on: ubuntu-latest
environment: release
permissions:
contents: write
issues: write
pull-requests: write
id-token: write
packages: write
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20
- name: Install semantic-release
run: |
npm install --no-save semantic-release conventional-changelog-conventionalcommits
- name: Release
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GH_ACTOR: ${{ github.actor }}
run: |
npx semantic-release
17 changes: 17 additions & 0 deletions .github/workflows/semantic-pr-check.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
name: "Semantic PR Check"

on:
pull_request_target:
types:
- opened
- edited
- synchronize

jobs:
main:
name: Validate PR title
runs-on: ubuntu-latest
steps:
- uses: amannn/[email protected]
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
103 changes: 103 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
# https://github.com/peripheryapp/periphery/blob/master/.github/workflows/test.yml

name: Test
on:
push:
branches:
- main
pull_request: {}
env:
swift_package_resolve: swift package resolve
swift_build: swift build --build-tests
swift_test: CLICKHOUSE_SERVER="127.0.0.1" CLICKHOUSE_USER="default" CLICKHOUSE_PASSWORD="" swift test
cache_version: 1
jobs:
macOS:
strategy:
fail-fast: false
matrix:
xcode: ["15.4", "15.2", "14.3.1"]
include:
- xcode: "15.4"
macos: macOS-14
- xcode: "15.2"
macos: macOS-14
- xcode: "14.3.1"
macos: macOS-14
runs-on: ${{ matrix.macos }}
name: macOS
steps:
- uses: actions/checkout@master
- name: Select Xcode version
run: sudo xcode-select -s /Applications/Xcode_${{ matrix.xcode }}.app; swift -version
- name: Get Swift Version
id: get-swift-version
run: |
echo "::set-output name=version::$(swift -version | head -n 1 | sed s/,// )"
shell: bash
- name: Cache resolved dependencies
id: cache-resolved-dependencies
uses: actions/cache@v2
with:
path: |
.build
Package.resolved
key: ${{ runner.os }}-${{ matrix.xcode }}-${{ steps.get-swift-version.outputs.version }}-${{ env.cache_version }}-spm-deps-${{ hashFiles('Package.swift', 'Package.resolved') }}
restore-keys: |
${{ runner.os }}-${{ matrix.xcode }}-${{ steps.get-swift-version.outputs.version }}-${{ env.cache_version }}-spm-deps-
- name: Resolve dependencies
if: steps.cache-resolved-dependencies.outputs.cache-hit != 'true'
run: ${{ env.swift_package_resolve }}
- name: Install netcdf
run: brew install netcdf
- name: Build
run: ${{ env.swift_build }}
- name: Test
run: ${{ env.swift_test }}
linux:
strategy:
fail-fast: false
matrix:
swift: ["5.10", "5.9", "5.8"]
include:
- swift: "5.10"
container: "swift:5.10"
cache-version: 1
- swift: "5.9"
container: "swift:5.9"
cache-version: 1
- swift: "5.8"
container: "swift:5.8"
cache-version: 1
runs-on: ubuntu-20.04
container: ${{ matrix.container }}
name: Linux
steps:
- name: Get Swift Version
id: get-swift-version
run: |
echo "::set-output name=version::$(swift -version | head -n 1 | sed s/,// )"
shell: bash
- uses: actions/checkout@master
- name: Cache resolved dependencies
id: cache-resolved-dependencies
uses: actions/cache@v2
with:
path: |
.build
Package.resolved
key: ${{ matrix.cache-version }}-${{ runner.os }}-${{ steps.get-swift-version.outputs.version }}-${{ env.cache_version }}-spm-deps-${{ hashFiles('Package.swift', 'Package.resolved') }}
restore-keys: |
${{ matrix.cache-version }}-${{ runner.os }}-${{ steps.get-swift-version.outputs.version }}-${{ env.cache_version }}-spm-deps-
- name: Install netcdf
run: |
- apt-key adv --keyserver keyserver.ubuntu.com --recv E0C56BD4; echo "deb http://repo.yandex.ru/clickhouse/deb/stable/ main/" | tee /etc/apt/sources.list.d/clickhouse.list
- apt-get update; DEBIAN_FRONTEND=noninteractive apt-get install -qq -y clickhouse-server
- service clickhouse-server start
- name: Resolve dependencies
if: steps.cache-resolved-dependencies.outputs.cache-hit != 'true'
run: ${{ env.swift_package_resolve }}
- name: Build
run: ${{ env.swift_build }}
- name: Test
run: ${{ env.swift_test }}

0 comments on commit f61050d

Please sign in to comment.