Skip to content

Commit

Permalink
Merge pull request #31 from FabrizioBrancati/develop
Browse files Browse the repository at this point in the history
Queuer 3.0.0
  • Loading branch information
FabrizioBrancati authored Apr 24, 2024
2 parents 4cc9f23 + 08381da commit 98c879b
Show file tree
Hide file tree
Showing 58 changed files with 1,351 additions and 3,677 deletions.
7 changes: 0 additions & 7 deletions .codebeatsettings

This file was deleted.

57 changes: 48 additions & 9 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,60 @@
Contributing
============
# Contributing

I'd love to see your ideas for improving this project.

## Pull requests
## Pull Requests

The best way to contribute is by submitting a pull request.
I'll do my best to respond to you as soon as possible.
Remember to open the pull request against the `develop` branch.

## Issues

If you find a bug or you have a suggestion create an issue.

#### Comment everything
## Comments

Every line of the project must to be commented.

#### Writing code
Please follow [Ray Wenderlich - Swift Style Guide](https://github.com/raywenderlich/swift-style-guide#correctness) codestyle. Comment every public methods, properties, classes. Make commits as atomic as possible with understandable comment. If you are developing feature or fixing a bug, please mention the issue number (e.g. #1) in commit text.
Use ```MARK``` to separate each section type.
Example: Global variables, Global functions, Class variables, Instance variables, Class functions, Instance functions & Init functions.
## Writing code

New API should follow the rules documented in Swift's [API Design Guidelines](https://www.swift.org/documentation/api-design-guidelines/). Comment every public methods, properties, classes. Make commits as atomic as possible with understandable comment. If you are developing feature or fixing a bug, please mention the issue number (e.g. #1) in commit text.

## Changelog

Once your changes are ready, please add an entry to the [CHANGELOG.md](https://github.com/FabrizioBrancati/Queuer/blob/main/CHANGELOG.md) file.

## Tests

#### Test everything
Add tests for every added function. The aim is to have 100% of code coverage.

## Linux

This library supports Linux, so please be sure that the feature that you are adding is compatible with it. If not, due to platform limitations, please wrap the code with `#if !os(Linux)`

### Using Docker on macOS to Test for Linux

The easiest way to test this package on Linux is to use Docker. You can use the following steps to set up a Docker container that runs the Swift compiler and test suite:

1. Install [Docker Desktop for Mac](https://www.docker.com/products/docker-desktop).

2. Run the following command from the root of this repository to build the
Docker image:

```bash
docker run --rm --privileged --interactive --tty \
--volume "$(pwd):/src" \
--workdir "/src" \
swift:5.10
```

> [!TIP]
> Use `swift:5.10` to use a specific Swift version. If you want to use the latest version, you can use `swift:latest`.
>
> Use `swift:5.10-jammy` to use the Swift 5.10 version with Ubuntu 22.04 and `swift:5.10-focal` to use the Swift 5.10 version with Ubuntu 20.04.

1. Run the following command to run the test suite:

```bash
swift test
```
32 changes: 32 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
---
name: Bug Report
about: Create a report to help us improve
title: ''
labels: 'bug'
assignees: ''

---

**Describe the Bug**
A clear and concise description of what the bug is.

**To Reproduce**
Steps to reproduce the behavior:

1. Go to ...
2. Click on ...
3. Scroll down to ...
4. See error

**Expected behavior**
A clear and concise description of what you expected to happen.

**Screenshots**
If applicable, add screenshots to help explain your problem.

**Configuration**
OS and Version: [e.g. iOS 17.4]
Queuer Version: [e.g. 3.0.0]

**Additional Context**
Add any other context about the problem here.
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
blank_issues_enabled: false
20 changes: 20 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
name: Feature Request
about: Suggest an idea for this project
title: ''
labels: 'feature'
assignees: ''

---

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when ...

**Describe the solution you'd like**
A clear and concise description of what you want to happen.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

**Additional context**
Add any other context or screenshots about the feature request here.
18 changes: 18 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file

version: 2
updates:
# Maintain dependencies for Swift packages
- package-ecosystem: "swift"
directory: "/"
schedule:
interval: "weekly"

# Maintain dependencies for GitHub Actions
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
24 changes: 24 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
## Summary

_Provide a description of what your PR addresses, explaining the expected user experience. Also, provide an overview of your implementation._

## Support

_Describe the platforms that your PR supports. If your PR does not support a platform, provide a reason.

- [ ] iOS
- [ ] macOS
- [ ] macCatalyst
- [ ] tvOS
- [ ] watchOS
- [ ] visionOS
- [ ] Linux

## Checklist

Make sure you check off the following items. If they cannot be completed, provide a reason.

- [ ] Added tests
- [ ] Added documentation
- [ ] Added a changelog entry
- [ ] Added to the README the new functionality description
60 changes: 60 additions & 0 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
name: Tests

on:
- push
- pull_request
- workflow_dispatch

jobs:
linux:
strategy:
fail-fast: false
matrix:
swift:
- image: "swift:5.10-jammy"
os: ubuntu-22.04
- image: "swift:5.9-jammy"
os: ubuntu-22.04
- image: "swift:5.10-focal"
os: ubuntu-20.04
- image: "swift:5.9-focal"
os: ubuntu-20.04
name: Linux
runs-on: ${{ matrix.swift.os }}
container:
image: ${{ matrix.swift.image }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Swift Version
run: swift --version
- name: Debug Build
run: swift build -v -c debug
- name: Debug Test
run: swift test -c debug --parallel

macos:
strategy:
matrix:
xcode:
- 15.3
- 15.2
- 15.1
- 15.0.1
name: macOS
runs-on: macos-14
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Select Xcode
run: xcodes select ${{ matrix.xcode }}
- name: Swift Version
run: swift --version
- name: Debug Build
run: swift build -v -c debug
- name: Debug Test for Commit
if: github.event_name != 'pull_request'
run: swift test -c debug --parallel 2>&1
- name: Debug Test for Pull Request
if: github.event_name == 'pull_request'
run: swift test -c debug --parallel 2>&1 | xcbeautify --renderer github-actions
93 changes: 62 additions & 31 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,35 +1,66 @@
# Swift Package Manager
Packages/
Package.pins
.build/
# Created by https://www.toptal.com/developers/gitignore/api/swiftpackagemanager,xcode,macos
# Edit at https://www.toptal.com/developers/gitignore?templates=swiftpackagemanager,xcode,macos

### macOS ###
# General
.DS_Store
.AppleDouble
.LSOverride

# Icon must end with two \r
Icon


# Thumbnails
._*

# Files that might appear in the root of a volume
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
.com.apple.timemachine.donotpresent

# Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk

### macOS Patch ###
# iCloud generated files
*.icloud

# Xcode
build/
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
### SwiftPackageManager ###
Packages
.build/
xcuserdata
*.xccheckout
*.moved-aside
DerivedData
*.hmap
*.ipa
*.xcuserstate
timeline.xctimeline
playground.xcworkspace

# Carthage
Carthage/
Cartfile.resolved

# Build
build/
DerivedData/
*.xcodeproj


### Xcode ###
## User settings
xcuserdata/

## Xcode 8 and earlier
*.xcscmblueprint
*.xccheckout

### Xcode Patch ###
*.xcodeproj/*
!*.xcodeproj/project.pbxproj
!*.xcodeproj/xcshareddata/
!*.xcodeproj/project.xcworkspace/
!*.xcworkspace/contents.xcworkspacedata
/*.gcno
**/xcshareddata/WorkspaceSettings.xcsettings

# End of https://www.toptal.com/developers/gitignore/api/swiftpackagemanager,xcode,macos

# Jazzy
Docs/
### Custom ###
.swiftpm
.build
5 changes: 0 additions & 5 deletions .slather.yml

This file was deleted.

4 changes: 4 additions & 0 deletions .spi.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
version: 1
builder:
configs:
- documentation_targets: [Queuer]
1 change: 0 additions & 1 deletion .swift-version

This file was deleted.

Loading

0 comments on commit 98c879b

Please sign in to comment.