Skip to content

Commit

Permalink
Update to Apodini 0.5.0 and make the project REUSE compliant (#3)
Browse files Browse the repository at this point in the history
  • Loading branch information
PSchmiedmayer authored Aug 24, 2021
1 parent 3b9aebd commit 284083d
Show file tree
Hide file tree
Showing 96 changed files with 924 additions and 1,041 deletions.
22 changes: 15 additions & 7 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,24 @@
<!--
This source file is part of the Apodini Example open source project
SPDX-FileCopyrightText: 2018-2021 Paul Schmiedmayer and project authors (see CONTRIBUTORS.md) <[email protected]>
SPDX-License-Identifier: MIT
-->

# *Name of the PR*

## :recycle: Current situation
## :recycle: Current situation & Problem
*Describe the current situation (if possible with and exemplary (or real) code snippet and/or where this is used)*

## :bulb: Proposed solution
*Describe the solution (if possible with and exemplary (or real) code snippet)*

### Problem that is solved
*Provide a description and link issues that are solved*
*Describe the solution and how this affects the project and internal structure*

### Implications
*Describe the implications, e.g. refactoring*
## :gear: Release Notes
*Add a short summary of the feature as well as possible migration guides if this is a breaking change so this section can be added to the release notes.*
*Include code snippets that provide examples of the feature implemented if it appends or changes the public interface.*

## :heavy_plus_sign: Additional Information
*Provide some additional information if possible*
Expand Down
20 changes: 15 additions & 5 deletions .github/release-drafter.yml
Original file line number Diff line number Diff line change
@@ -1,20 +1,30 @@
#
# This source file is part of the Apodini Example open source project
#
# SPDX-FileCopyrightText: 2018-2021 Paul Schmiedmayer and project authors (see CONTRIBUTORS.md) <[email protected]>
#
# SPDX-License-Identifier: MIT
#

branches: [release]
name-template: '$NEXT_PATCH_VERSION'
tag-template: '$NEXT_PATCH_VERSION'
categories:
- title: '🚀 Features'
- title: 'Semantic Version Major'
labels:
- 'needs version bump'
- title: 'Semantic Version Minor'
labels:
- 'feature'
- 'enhancement'
- title: '🐛 Bug Fixes'
- title: 'Other Changes'
labels:
- 'fix'
- 'bugfix'
- 'bug'
- title: '🧰 Maintenance'
label: 'chore'
- 'documentation'
change-template: '- $TITLE @$AUTHOR (#$NUMBER)'
template: |
## Changes
$CHANGES
$CHANGES
61 changes: 46 additions & 15 deletions .github/workflows/build-and-test.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
#
# This source file is part of the Apodini Example open source project
#
# SPDX-FileCopyrightText: 2018-2021 Paul Schmiedmayer and project authors (see CONTRIBUTORS.md) <[email protected]>
#
# SPDX-License-Identifier: MIT
#

name: Build and Test

on:
Expand All @@ -7,14 +15,12 @@ on:
pull_request:
branches:
- develop
workflow_dispatch:

jobs:
macosclient:
name: macOS Client
runs-on: macos-11
defaults:
run:
working-directory: ./App
steps:
- uses: actions/checkout@v2
- uses: maxim-lobanov/[email protected]
Expand All @@ -26,34 +32,48 @@ jobs:
run: swift --version
- name: Build and test
run: xcodebuild test -scheme App -destination 'platform=iOS Simulator,OS=15.0,name=iPhone 12'
macoswebservices:
name: macOS WebService
macoswebservice:
name: macOS WebService ${{ matrix.configuration }}
runs-on: macos-11
defaults:
run:
working-directory: ./WebService
strategy:
fail-fast: false
matrix:
configuration: [debug, release]
steps:
- uses: actions/checkout@v2
- uses: maxim-lobanov/setup-xcode@v1.1
- uses: maxim-lobanov/setup-xcode@v1.2.3
with:
xcode-version: latest
- uses: actions/cache@v2
with:
path: .build
key: ${{ runner.os }}-spm-${{ hashFiles('**/Package.resolved') }}
- name: Check Xcode version
run: xcodebuild -version
- name: Check Swift version
run: swift --version
- name: Build and test
run: swift test
- name: Release Build
if: matrix.configuration == 'release'
run: swift build -c release
- name: Debug Build
if: matrix.configuration == 'debug'
run: swift build -c debug
linuxwebservices:
name: Linux WebService ${{ matrix.linux }}
name: Linux ${{ matrix.linux }} ${{ matrix.configuration }}
runs-on: ubuntu-latest
container:
image: swift:${{ matrix.linux }}
strategy:
matrix:
linux: [latest, focal, amazonlinux2, centos8]
image: swiftlang/swift:nightly-5.5-${{ matrix.linux }}
defaults:
run:
working-directory: ./WebService
strategy:
fail-fast: false
matrix:
linux: [bionic, focal, amazonlinux2, centos8]
configuration: [debug, release, release_testing]
steps:
- uses: actions/checkout@v2
- name: Install libsqlite3
Expand All @@ -65,7 +85,18 @@ jobs:
- name: Install libsqlite3
if: startsWith( matrix.linux, 'centos' )
run: yum update -y --nobest && yum install -y sqlite-devel
- uses: actions/cache@v2
with:
path: .build
key: ${{ runner.os }}-${{matrix.linux}}-spm-${{ hashFiles('**/Package.resolved') }}
- name: Check Swift version
run: swift --version
- name: Build and test
run: swift test -Xswiftc -Xfrontend -Xswiftc -sil-verify-none
- name: Release Build
if: matrix.configuration == 'release'
run: swift build -c release
- name: Release Build & Test
if: matrix.configuration == 'release_testing'
run: swift test -c release -Xswiftc -enable-testing
- name: Debug Build & Test
if: matrix.configuration == 'debug'
run: swift test -c debug
8 changes: 8 additions & 0 deletions .github/workflows/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
#
# This source file is part of the Apodini Example open source project
#
# SPDX-FileCopyrightText: 2018-2021 Paul Schmiedmayer and project authors (see CONTRIBUTORS.md) <[email protected]>
#
# SPDX-License-Identifier: MIT
#

name: Build Docker Compose

on:
Expand Down
14 changes: 11 additions & 3 deletions .github/workflows/docker.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,17 @@
#
# This source file is part of the Apodini Example open source project
#
# SPDX-FileCopyrightText: 2018-2021 Paul Schmiedmayer and project authors (see CONTRIBUTORS.md) <[email protected]>
#
# SPDX-License-Identifier: MIT
#

name: Build Docker Image

on:
push:
tags:
- '*.*.*'
release:
types: [published]
workflow_dispatch:

jobs:
docker:
Expand Down
10 changes: 9 additions & 1 deletion .github/workflows/release-drafter.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,17 @@
#
# This source file is part of the Apodini Example open source project
#
# SPDX-FileCopyrightText: 2018-2021 Paul Schmiedmayer and project authors (see CONTRIBUTORS.md) <[email protected]>
#
# SPDX-License-Identifier: MIT
#

name: Release Drafter

on:
push:
branches:
- release
- develop

jobs:
update_release_draft:
Expand Down
10 changes: 9 additions & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
#
# This source file is part of the Apodini Example open source project
#
# SPDX-FileCopyrightText: 2018-2021 Paul Schmiedmayer and project authors (see CONTRIBUTORS.md) <[email protected]>
#
# SPDX-License-Identifier: MIT
#

name: Create Release

on:
Expand All @@ -9,7 +17,7 @@ jobs:
build:
runs-on: ubuntu-latest
steps:
- name: GH Release
- name: Create GitHub Release
uses: softprops/[email protected]
env:
GITHUB_TOKEN: ${{ secrets.ACCESS_TOKEN }}
22 changes: 22 additions & 0 deletions .github/workflows/reuseaction.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
#
# This source file is part of the Apodini Example open source project
#
# SPDX-FileCopyrightText: 2018-2021 Paul Schmiedmayer and project authors (see CONTRIBUTORS.md) <[email protected]>
#
# SPDX-License-Identifier: MIT
#

name: REUSE Compliance Check

on:
pull_request:
workflow_dispatch:

jobs:
reuse:
name: REUSE Compliance Check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: REUSE Compliance Check
uses: fsfe/reuse-action@v1
46 changes: 46 additions & 0 deletions .github/workflows/spm-update.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
#
# This source file is part of the Apodini Example open source project
#
# SPDX-FileCopyrightText: 2018-2021 Paul Schmiedmayer and project authors (see CONTRIBUTORS.md) <[email protected]>
#
# SPDX-License-Identifier: MIT
#

name: Swift Package Update

on:
schedule:
- cron: '0 0 * * 1'
workflow_dispatch:

jobs:
createPR:
name: Create Pull Request
container:
image: swiftlang/swift:nightly-5.5-focal
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Check Swift version
run: swift --version
- name: Update Swift Packages Gateway
run: cd ./Shared && swift package update
- name: Update Swift Packages Database
run: cd ./WebService && swift package update
- name: Update Swift Packages Xcode Projekt
run: |
rm -f Example.xcworkspace/xcshareddata/swiftpm/Package.resolved
xcodebuild -resolvePackageDependencies
- uses: peter-evans/create-pull-request@v3
with:
token: ${{ secrets.ACCESS_TOKEN }}
commit-message: Update dependencies
title: Update dependencies
body: Update the Swift Package dependencies.
delete-branch: true
base: develop
branch: bots/update-dependencies
assignees: ApodiniBot
committer: ApodiniBot <[email protected]>
author: ApodiniBot <[email protected]>
reviewers: PSchmiedmayer
17 changes: 11 additions & 6 deletions .github/workflows/swiftlint.yml
Original file line number Diff line number Diff line change
@@ -1,21 +1,26 @@
#
# This source file is part of the Apodini Example open source project
#
# SPDX-FileCopyrightText: 2018-2021 Paul Schmiedmayer and project authors (see CONTRIBUTORS.md) <[email protected]>
#
# SPDX-License-Identifier: MIT
#

name: SwiftLint

on:
pull_request:
paths:
- '.github/workflows/swiftlint.yml'
- '.swiftlint.yml'
- '**/*.swift'
workflow_dispatch:

jobs:
swiftlint:
name: SwiftLint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: GitHub Action for SwiftLint
uses: norio-nomura/action-swiftlint@3.1.0
uses: norio-nomura/action-swiftlint@3.2.1
with:
args: --strict
env:
DIFF_BASE: ${{ github.base_ref }}

Loading

0 comments on commit 284083d

Please sign in to comment.