Compare commits
8 Commits
9b99b35436
...
v0.1.5
| Author | SHA1 | Date | |
|---|---|---|---|
|
1e72dbcfc2
|
|||
|
a5b9280a46
|
|||
|
4b9c45dd5f
|
|||
|
529aa80c47
|
|||
|
66e286f267
|
|||
|
cb25dba7de
|
|||
|
0c6e9e1228
|
|||
|
faa28749bc
|
19
.gitea/workflows/release.yaml
Normal file
19
.gitea/workflows/release.yaml
Normal file
@@ -0,0 +1,19 @@
|
||||
---
|
||||
name: Release
|
||||
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- "*.*.*"
|
||||
- "v*.*.*"
|
||||
|
||||
jobs:
|
||||
release:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
- name: Release
|
||||
uses: softprops/action-gh-release@v2
|
||||
with:
|
||||
draft: true
|
||||
2
.gitignore
vendored
2
.gitignore
vendored
@@ -10,3 +10,5 @@ DerivedData/
|
||||
.swiftpm/*
|
||||
./hpa.toml
|
||||
./Version.*
|
||||
/*.json
|
||||
hpa
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"originHash" : "bc31b11e5e7d488e0a9c1bf91cb572d29f782bfd8e43f44157036f8f3d282893",
|
||||
"originHash" : "f1d1e27e3b3b21d41b872325e0174196a323dc438bf3c9d9f99858856b457c96",
|
||||
"pins" : [
|
||||
{
|
||||
"identity" : "combine-schedulers",
|
||||
@@ -33,8 +33,8 @@
|
||||
"kind" : "remoteSourceControl",
|
||||
"location" : "https://git.housh.dev/michael/swift-cli-doc.git",
|
||||
"state" : {
|
||||
"revision" : "e524056dc65c5ce7a6a77bdea4e5fa0bf724019b",
|
||||
"version" : "0.2.0"
|
||||
"revision" : "bbace73d974fd3e6985461431692bea773c7c5d8",
|
||||
"version" : "0.2.1"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
||||
@@ -20,7 +20,7 @@ let package = Package(
|
||||
.package(url: "https://github.com/pointfreeco/swift-custom-dump.git", from: "1.3.3"),
|
||||
.package(url: "https://github.com/pointfreeco/swift-dependencies", from: "1.5.2"),
|
||||
.package(url: "https://github.com/m-housh/swift-shell-client.git", from: "0.1.0"),
|
||||
.package(url: "https://git.housh.dev/michael/swift-cli-doc.git", from: "0.2.0"),
|
||||
.package(url: "https://git.housh.dev/michael/swift-cli-doc.git", from: "0.2.1"),
|
||||
.package(url: "https://github.com/m-housh/swift-cli-version.git", from: "0.1.0"),
|
||||
.package(url: "https://github.com/LebJe/TOMLKit.git", from: "0.5.0")
|
||||
],
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
// Do not set this variable, it is set during the build process.
|
||||
let VERSION: String? = nil
|
||||
let VERSION: String? = "0.1.5"
|
||||
|
||||
@@ -15,6 +15,7 @@ FROM swift:${SWIFT_IMAGE_VERSION}-slim
|
||||
RUN export DEBIAN_FRONTEND=nointeractive DEBCONF_NOINTERACTIVE_SEEN=true && apt-get -q update && \
|
||||
apt-get -q install -y \
|
||||
ansible \
|
||||
curl \
|
||||
pandoc \
|
||||
texlive \
|
||||
&& rm -r /var/lib/apt/lists/*
|
||||
|
||||
@@ -2,6 +2,11 @@
|
||||
ARG SWIFT_IMAGE_VERSION="6.0.3"
|
||||
FROM swift:${SWIFT_IMAGE_VERSION}
|
||||
|
||||
RUN export DEBIAN_FRONTEND=nointeractive DEBCONF_NOINTERACTIVE_SEEN=true && apt-get -q update && \
|
||||
apt-get -q install -y \
|
||||
curl \
|
||||
&& rm -r /var/lib/apt/lists/*
|
||||
|
||||
WORKDIR /app
|
||||
COPY ./Package.* ./
|
||||
RUN swift package resolve
|
||||
|
||||
36
justfile
36
justfile
@@ -2,44 +2,68 @@ docker_image_name := "swift-hpa"
|
||||
install_path := "~/.local/share/bin/hpa"
|
||||
completion_path := "~/.local/share/zsh/completions/_hpa"
|
||||
|
||||
build mode="debug":
|
||||
swift build -c {{mode}}
|
||||
tap_url := "https://git.housh.dev/michael/homebrew-formula"
|
||||
tap := "michael/formula"
|
||||
formula := "hpa"
|
||||
|
||||
# Build and bottle homebrew formula.
|
||||
bottle:
|
||||
@brew uninstall {{formula}} || true
|
||||
@brew tap {{tap}} {{tap_url}}
|
||||
@brew install --build-bottle {{tap}}/{{formula}}
|
||||
@brew bottle {{formula}}
|
||||
bottle="$(ls *.gz)" && mv "${bottle}" "${bottle/--/-}"
|
||||
|
||||
# Build the command-line tool.
|
||||
build configuration="debug" arch="arm64":
|
||||
swift build \
|
||||
--disable-sandbox \
|
||||
--configuration {{configuration}} \
|
||||
--arch {{arch}}
|
||||
|
||||
alias b := build
|
||||
|
||||
# Build the docker image.
|
||||
build-docker file="Dockerfile" tag="latest":
|
||||
@docker build \
|
||||
--file docker/{{file}} \
|
||||
--tag {{docker_image_name}}:{{tag}} .
|
||||
|
||||
# Build the docker test image used for testing.
|
||||
build-docker-test: (build-docker "Dockerfile.test" "test")
|
||||
|
||||
build-universal-binary: (build "release" "arm64") (build "release" "x86_64")
|
||||
@lipo -create -output {{formula}} \
|
||||
".build/arm64-apple-macosx/release/hpa" \
|
||||
".build/x86_64-apple-macosx/release/hpa"
|
||||
|
||||
# Run tests.
|
||||
test *ARGS:
|
||||
swift test {{ARGS}}
|
||||
|
||||
alias t := test
|
||||
|
||||
# Run tests in docker container.
|
||||
test-docker *ARGS: (build-docker-test)
|
||||
@docker run --rm \
|
||||
--network host \
|
||||
{{docker_image_name}}:test \
|
||||
swift test {{ARGS}}
|
||||
|
||||
# Run the application.
|
||||
run *ARGS:
|
||||
swift run hpa {{ARGS}}
|
||||
|
||||
alias r := run
|
||||
|
||||
# Clean the build folder.
|
||||
clean:
|
||||
rm -rf .build
|
||||
|
||||
# Bump the version based on the git tag.
|
||||
update-version:
|
||||
@swift package \
|
||||
--disable-sandbox \
|
||||
--allow-writing-to-package-directory \
|
||||
update-version \
|
||||
hpa
|
||||
|
||||
install: (build "release")
|
||||
@cp .build/release/hpa {{install_path}}
|
||||
@{{install_path}} --generate-completion-script zsh > {{completion_path}}
|
||||
|
||||
Reference in New Issue
Block a user