Skip to content

Commit

Permalink
Update to Apodini 0.5.0, Make REUSE compliant, Update GitHub Actions (#3
Browse files Browse the repository at this point in the history
)
  • Loading branch information
PSchmiedmayer authored Aug 24, 2021
1 parent f3ff5fb commit fa64737
Show file tree
Hide file tree
Showing 28 changed files with 393 additions and 220 deletions.
10 changes: 9 additions & 1 deletion .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,2 +1,10 @@
FROM swift:latest
#
# This source file is part of the Apodini Template open source project
#
# SPDX-FileCopyrightText: 2021 Paul Schmiedmayer and the project authors (see CONTRIBUTORS.md) <[email protected]>
#
# SPDX-License-Identifier: MIT
#

FROM swiftlang/swift:nightly-5.5-focal
RUN apt-get update && apt-get install -y --no-install-recommends libsqlite3-dev
6 changes: 6 additions & 0 deletions .devcontainer/devcontainer.json.license
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@

This source file is part of the Apodini Template open source project

SPDX-FileCopyrightText: 2021 Paul Schmiedmayer and the project authors (see CONTRIBUTORS.md) <[email protected]>

SPDX-License-Identifier: MIT
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 Template open source project
SPDX-FileCopyrightText: 2021 Paul Schmiedmayer and the 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 Template open source project
#
# SPDX-FileCopyrightText: 2021 Paul Schmiedmayer and the 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
67 changes: 46 additions & 21 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 Template open source project
#
# SPDX-FileCopyrightText: 2021 Paul Schmiedmayer and the project authors (see CONTRIBUTORS.md) <[email protected]>
#
# SPDX-License-Identifier: MIT
#

name: Build and Test

on:
Expand All @@ -7,42 +15,59 @@ on:
pull_request:
branches:
- develop
workflow_dispatch:

jobs:
macoswebservices:
name: macOS
macos:
name: macOS ${{ matrix.configuration }}
runs-on: macos-11
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
linuxwebservices:
name: Linux ${{ matrix.linux }}
runs-on: ubuntu-latest
- name: Release Build
if: matrix.configuration == 'release'
run: swift build -c release
- name: Debug Build
if: matrix.configuration == 'debug'
run: swift build -c debug
linux:
name: Linux ${{ matrix.linux }} ${{ matrix.configuration }}
container:
image: swift:${{ matrix.linux }}
image: swiftlang/swift:nightly-5.5-${{ matrix.linux }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
linux: [focal, bionic, amazonlinux2, centos8]
linux: [bionic, focal, amazonlinux2, centos8]
configuration: [debug, release, release_testing]
steps:
- uses: actions/checkout@v2
- name: Install libsqlite3
if: ${{ !(startsWith( matrix.linux, 'centos' ) || startsWith( matrix.linux, 'amazonlinux' )) }}
run: apt-get update && apt-get install -y --no-install-recommends libsqlite3-dev
- name: Install libsqlite3
if: startsWith( matrix.linux, 'amazonlinux' )
run: yum update -y && yum install -y sqlite-devel
- 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 Template open source project
#
# SPDX-FileCopyrightText: 2021 Paul Schmiedmayer and the project authors (see CONTRIBUTORS.md) <[email protected]>
#
# SPDX-License-Identifier: MIT
#

name: Build Docker Compose

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

name: Build Docker Image

on:
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 Template open source project
#
# SPDX-FileCopyrightText: 2021 Paul Schmiedmayer and the 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 Template open source project
#
# SPDX-FileCopyrightText: 2021 Paul Schmiedmayer and the 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 Template open source project
#
# SPDX-FileCopyrightText: 2021 Paul Schmiedmayer and the 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
40 changes: 40 additions & 0 deletions .github/workflows/spm-update.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
#
# This source file is part of the Apodini Template open source project
#
# SPDX-FileCopyrightText: 2021 Paul Schmiedmayer and the 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
run: swift package update
- 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
14 changes: 10 additions & 4 deletions .github/workflows/swiftlint.yml
Original file line number Diff line number Diff line change
@@ -1,14 +1,20 @@
#
# This source file is part of the Apodini Template open source project
#
# SPDX-FileCopyrightText: 2021 Paul Schmiedmayer and the 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
Expand Down
14 changes: 13 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,12 +1,24 @@
#
# This source file is part of the Apodini Template open source project
#
# SPDX-FileCopyrightText: 2021 Paul Schmiedmayer and the project authors (see CONTRIBUTORS.md) <[email protected]>
#
# SPDX-License-Identifier: MIT
#

# Apodini .gitignore File

# Swift Package Manager
*.xcodeproj
.swiftpm
.build/

# IDE related folders
.idea

# Xcode User settings
xcuserdata/

# Other files
.DS_Store
.DS_Store
.env
Loading

0 comments on commit fa64737

Please sign in to comment.