Skip to content

Update to Apodini 0.5.0 and make the project REUSE compliant #3

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Aug 24, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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