Skip to content

Commit

Permalink
Create project
Browse files Browse the repository at this point in the history
  • Loading branch information
pepicrft committed Jul 18, 2024
0 parents commit 3bcc3c3
Show file tree
Hide file tree
Showing 54 changed files with 3,325 additions and 0 deletions.
18 changes: 18 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# EditorConfig is awesome: https://EditorConfig.org

# Top-most EditorConfig file
root = true

# Unix-style newlines with a newline ending every file
[*]
end_of_line = lf
insert_final_newline = true
indent_style = space
indent_size = 2
trim_trailing_whitespace = true

[*.rb]
charset = utf-8

[*.md]
trim_trailing_whitespace = false
21 changes: 21 additions & 0 deletions .github/changelog-configuration.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"categories": [
{
"title": "#### Changed",
"labels": ["changelog:changed"]
},
{
"title": "#### Added",
"labels": ["changelog:added"]
},
{
"title": "#### Fixed",
"labels": ["changelog:fixed"]
},
{
"title": "#### Dependency updates",
"labels": ["changelog:updated-dependencies"]
}
],
"pr_template": "- ${{TITLE}} by [@${{AUTHOR}}](https://github.com/${{AUTHOR}})"
}
24 changes: 24 additions & 0 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
name: deploy
on:
push:
branches:
- 'main'

concurrency:
group: deploy-${{ github.head_ref }}
cancel-in-progress: true

jobs:
docs:
name: docs
runs-on: ubuntu-latest
env:
CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
steps:
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
- uses: jdx/mise-action@v2
with:
experimental: true
- run: mise run install
- run: mise run docs:deploy
27 changes: 27 additions & 0 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: Docs

on:
push:
branches:
- main
pull_request: {}

concurrency:
group: docs-${{ github.head_ref }}
cancel-in-progress: true

jobs:
build:
name: "Build"
runs-on: "ubuntu-latest"
steps:
- uses: actions/checkout@v4
- uses: jdx/mise-action@v2
with:
experimental: true
- name: Install
run: |
mise run install
- name: Build
run: |
mise run docs:build
80 changes: 80 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
name: Release

on:
schedule:
# At 10:00 on Monday (Berlin time is UTC+1 or UTC+2 depending on daylight saving time)
- cron: '00 08 * * 1'
workflow_dispatch:
inputs:
version:
description: 'The version to release'
type: string

concurrency:
group: release-${{ github.head_ref }}
cancel-in-progress: true

permissions:
contents: write
pull-requests: read
statuses: write
packages: write

jobs:
release:
name: Release
runs-on: 'macos-13'
timeout-minutes: 15
steps:
- uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4
with:
fetch-depth: 0
- name: Select Xcode
run: sudo xcode-select -switch /Applications/Xcode_$(cat .xcode-version).app
- uses: jdx/mise-action@v2
with:
experimental: true
- name: Get Next Version
id: calculated_semvers
uses: ietf-tools/semver-action@v1
if: github.event.inputs.version == ''
with:
token: ${{ github.token }}
branch: main
- name: 'Set version'
run: echo '::set-output name=version::${{ steps.calculated_semvers.outputs.next }}${{ github.event.inputs.version }}'
id: semvers
- name: "Generate Changelog"
id: changelog
uses: mikepenz/release-changelog-builder-action@v4
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
owner: "tuist"
repo: "virtualOS"
configuration: ".github/changelog-configuration.json"
toTag: "main"
- name: Bundle
env:
TUIST_CONFIG_CLOUD_TOKEN: ${{ secrets.TUIST_CONFIG_CLOUD_TOKEN }}
run: mise run bundle
- name: Commit
id: auto-commit-action
uses: stefanzweifel/git-auto-commit-action@v5
with:
commit_options: '--allow-empty'
skip_dirty_check: true
commit_message: "[Release] VirtualOS ${{ steps.semvers.outputs.version }}"
- name: Create GitHub Release
uses: softprops/action-gh-release@v2
with:
draft: false
repository: tuist/virtualOS
name: ${{ steps.semvers.outputs.version }}
tag_name: ${{ steps.semvers.outputs.version }}
body: ${{ steps.changelog.outputs.changelog }}
target_commitish: ${{ steps.auto-commit-action.outputs.commit_hash }}
files: |
build/virtualos.zip
build/SHASUMS256.txt
build/SHASUMS512.txt
71 changes: 71 additions & 0 deletions .github/workflows/virtualos.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
name: VirtualOS

on:
push:
branches:
- main
pull_request: {}

concurrency:
group: virtualos-${{ github.head_ref }}
cancel-in-progress: true

env:
TUIST_CONFIG_CLOUD_TOKEN: ${{ secrets.TUIST_CONFIG_CLOUD_TOKEN }}

jobs:
build:
name: "Build"
runs-on: "macos-13"
steps:
- uses: actions/checkout@v4
- name: Select Xcode
run: sudo xcode-select -switch /Applications/Xcode_$(cat .xcode-version).app
- uses: jdx/mise-action@v2
with:
experimental: true
- name: Run
run: |
mise x -- tuist install
mise run build
test:
name: "Test"
runs-on: "macos-13"
env:
TUIST_CONFIG_CLOUD_TOKEN: ${{ secrets.TUIST_CONFIG_CLOUD_TOKEN }}
steps:
- uses: actions/checkout@v4
- name: Select Xcode
run: sudo xcode-select -switch /Applications/Xcode_$(cat .xcode-version).app
- uses: jdx/mise-action@v2
with:
experimental: true
- name: Run
run: |
mise x -- tuist install
mise run test
lint:
name: Lint
runs-on: macos-13
steps:
- uses: actions/checkout@v4
- uses: jdx/mise-action@v2
with:
experimental: true
- name: Run
run: mise run lint

cache:
name: Cache
runs-on: macos-13
steps:
- uses: actions/checkout@v4
- uses: jdx/mise-action@v2
with:
experimental: true
- name: Run
run: |
mise x -- tuist install
mise run cache
20 changes: 20 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
.DS_Store
/.build
/Packages
xcuserdata/
DerivedData/
.swiftpm/configuration/registries.json
.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata
.netrc

*.xcodeproj/
*.xcworkspace
Tuist/Dependencies/SwiftPackageManager

Derived/
.swiftpm/
build/

node_modules/
docs/.vitepress/cache/
docs/.vitepress/dist/
12 changes: 12 additions & 0 deletions .mise.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
[tools]
"tuist" = "4.20.0"
"swiftlint" = "0.54.0"
"swiftformat" = "0.52.10"
"swift" = "5.9.2"
"node" = "20.11.1"
"pnpm" = "9.5.0"

[plugins]
tuist = "https://github.com/asdf-community/asdf-tuist"
swift = "https://github.com/fcrespo82/asdf-swift"
virtualos = "https://github.com/tuist/asdf-virtualos"
6 changes: 6 additions & 0 deletions .mise/tasks/build
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#!/usr/bin/env bash
# mise description="Builds the package using Tuist"

set -euo pipefail

tuist build --path $MISE_PROJECT_ROOT
6 changes: 6 additions & 0 deletions .mise/tasks/cache
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#!/usr/bin/env bash
# mise description="Warms the Tuist cache"

set -euo pipefail

tuist cache --path $MISE_PROJECT_ROOT
6 changes: 6 additions & 0 deletions .mise/tasks/docs/build
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#!/usr/bin/env bash
# mise description="Dev the documentation"

set -euo pipefail

pnpm run -C $MISE_PROJECT_ROOT/docs build
4 changes: 4 additions & 0 deletions .mise/tasks/docs/deploy
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#!/usr/bin/env bash
# mise description="Deploy the website"

pnpm run -C $MISE_PROJECT_ROOT/docs deploy
6 changes: 6 additions & 0 deletions .mise/tasks/docs/dev
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#!/usr/bin/env bash
# mise description="Dev the documentation"

set -euo pipefail

pnpm run -C $MISE_PROJECT_ROOT/docs dev
6 changes: 6 additions & 0 deletions .mise/tasks/install
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#!/usr/bin/env bash
# mise description="Installs the project dependencies"

set -euo pipefail

pnpm install -C $MISE_PROJECT_ROOT/docs
7 changes: 7 additions & 0 deletions .mise/tasks/lint
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#!/bin/bash
# mise description="Lints the project"

set -euo pipefail

swiftformat $MISE_PROJECT_ROOT --lint
swiftlint lint --quiet --config $MISE_PROJECT_ROOT/.swiftlint.yml $MISE_PROJECT_ROOT/Sources
6 changes: 6 additions & 0 deletions .mise/tasks/lint-fix
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#!/bin/bash
# mise description = "Lints the project fixing the fixable issues"
set -euo pipefail

swiftformat $MISE_PROJECT_ROOT
swiftlint lint --fix --quiet --config $MISE_PROJECT_ROOT/.swiftlint.yml $MISE_PROJECT_ROOT/Sources
5 changes: 5 additions & 0 deletions .mise/tasks/test
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#!/bin/bash
# mise description="Tests the package using the Tuist"
set -euo pipefail

tuist test --path $MISE_PROJECT_ROOT
42 changes: 42 additions & 0 deletions .swiftformat
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# file options

--symlinks ignore
--disable hoistAwait
--disable hoistTry
--swiftversion 5.7

# format options

--allman false
--binarygrouping 4,8
--closingparen balanced
--commas always
--comments indent
--decimalgrouping 3,6
--elseposition same-line
--empty void
--exponentcase lowercase
--exponentgrouping disabled
--extensionacl on-declarations
--fractiongrouping disabled
--header strip
--hexgrouping 4,8
--hexliteralcase uppercase
--ifdef indent
--indent 4
--indentcase false
--importgrouping testable-bottom
--linebreaks lf
--octalgrouping 4,8
--operatorfunc spaced
--patternlet hoist
--ranges spaced
--self remove
--semicolons inline
--stripunusedargs always
--trimwhitespace always
--maxwidth 130
--wraparguments before-first
--wrapcollections before-first
--wrapconditions after-first
--wrapparameters before-first
Loading

0 comments on commit 3bcc3c3

Please sign in to comment.