Skip to content

optimized

optimized #29

Workflow file for this run

name: build with brew on macOS
on:
push:
branches: [ 0.15.4 ]
pull_request:
branches: [ 0.15.4 ]
jobs:
brew:
strategy:
fail-fast: false
matrix:
os: [macos-14, macos-13, macos-12]
runs-on: ${{ matrix.os }}
steps:
- name: create homebrew formula for uppm package
run: |
tee uppm.rb <<EOF
class Uppm < Formula
desc "Universal Prebuild Package Manager for Unix-like systems"
homepage "https://github.com/leleliu008/uppm"
url "https://github.com/leleliu008/uppm.git", revision: "${{ github.sha }}"
version "0.0.0"
license "Apache-2.0"
depends_on "cmake" => :build
depends_on "ninja" => :build
depends_on "pkg-config" => :build
depends_on "curl"
depends_on "jansson"
depends_on "libyaml"
depends_on "libgit2"
depends_on "libarchive"
def install
system "cmake", "-S", ".", "-B", "build", *std_cmake_args, "-DCMAKE_BUILD_TYPE=Release", "-DCMAKE_VERBOSE_MAKEFILE=ON"
system "cmake", "--build", "build"
system "cmake", "--install", "build"
end
test do
system "#{bin}/uppm", "--help"
end
end
EOF
- run: brew update
- run: brew tap leleliu008/fpliu
- run: mv uppm.rb "$(brew --repo leleliu008/fpliu)/Formula/uppm.rb"
- run: brew info uppm
- run: brew install uppm -v
- run: uppm
- run: uppm --help
- run: uppm --version
- run: uppm -h
- run: uppm -V
- run: uppm about
- run: uppm about -v
- run: uppm integrate zsh -v
- run: uppm update
- run: uppm search zip
- run: uppm depends zip
- run: uppm depends android-sdk
- run: uppm depends android-sdk -t box
- run: uppm depends android-sdk -t dot
- run: uppm info-available gsed
- run: uppm info-available gsed --json
- run: uppm info-available gsed --yaml
- run: uppm info-available gsed version
- run: uppm info-available gsed license
- run: uppm info-available gsed summary
- run: uppm info-available gsed webpage
- run: uppm info-available gsed bin-url
- run: uppm info-available gsed bin-sha
- run: uppm info-available gsed install
- run: uppm info-available gsed formula
- run: uppm fetch gzip
- run: uppm fetch gtar -v
- run: uppm install gsed
- run: uppm info-installed gsed --files
- run: uppm info-installed gsed --json
- run: uppm info-installed gsed --yaml
- run: uppm info-installed gsed timestamp-unix
- run: uppm info-installed gsed timestamp-iso-8601
- run: uppm info-installed gsed timestamp-rfc-3339
- run: uppm info-installed gsed version
- run: uppm tree gsed
- run: uppm tree gsed -L 3
- run: |
printf '%s\n' 'version: 1000' >> ~/.uppm/repos.d/official-core/formula/gsed.yml
- run: uppm ls-available
- run: uppm ls-installed
- run: uppm ls-outdated
- run: uppm is-available curl
- run: uppm is-installed gsed
- run: uppm is-outdated gsed || echo not outdated
- run: uppm upgrade gsed
- run: uppm reinstall gsed
- run: uppm uninstall gsed
- run: uppm formula-repo-list
- run: uppm formula-repo-add my_repo https://github.com/leleliu008/uppm-formula-repository-linux-x86_64
- run: uppm formula-repo-del my_repo
- run: uppm cleanup
- run: uppm upgrade-self
brew-sanitizer:
strategy:
fail-fast: false
matrix:
os: [macos-14, macos-13, macos-12]
runs-on: ${{ matrix.os }}
steps:
- name: create homebrew formula for uppm package
run: |
tee uppm.rb <<EOF
class Uppm < Formula
desc "Universal Prebuild Package Manager for Unix-like systems"
homepage "https://github.com/leleliu008/uppm"
url "https://github.com/leleliu008/uppm.git", revision: "${{ github.sha }}"
version "0.0.0"
license "Apache-2.0"
depends_on "llvm" => :build
depends_on "cmake" => :build
depends_on "ninja" => :build
depends_on "pkg-config" => :build
depends_on "curl"
depends_on "jansson"
depends_on "libyaml"
depends_on "libgit2"
depends_on "libarchive"
def install
system "cmake", "-S", ".", "-B", "build", *std_cmake_args, "-DCMAKE_BUILD_TYPE=Debug", "-DCMAKE_VERBOSE_MAKEFILE=ON", "-DCMAKE_C_FLAGS='-fsanitize=undefined -fsanitize=address -fsanitize=leak'", "-DCMAKE_C_COMPILER=#{Formula["llvm"].opt_prefix}/bin/clang"
system "cmake", "--build", "build"
system "cmake", "--install", "build"
end
test do
system "#{bin}/uppm", "--help"
end
end
EOF
- run: brew update
- run: brew tap leleliu008/fpliu
- run: mv uppm.rb "$(brew --repo leleliu008/fpliu)/Formula/uppm.rb"
- run: brew info uppm
- run: brew install uppm -v
- run: uppm
- run: uppm --help
- run: uppm --version
- run: uppm -h
- run: uppm -V
- run: uppm about
- run: uppm about -v
- run: uppm integrate zsh -v
- run: uppm update
- run: uppm search zip
- run: uppm depends zip
- run: uppm depends android-sdk
- run: uppm depends android-sdk -t box
- run: uppm depends android-sdk -t dot
- run: uppm info-available gsed
- run: uppm info-available gsed --json
- run: uppm info-available gsed --yaml
- run: uppm info-available gsed version
- run: uppm info-available gsed license
- run: uppm info-available gsed summary
- run: uppm info-available gsed webpage
- run: uppm info-available gsed bin-url
- run: uppm info-available gsed bin-sha
- run: uppm info-available gsed install
- run: uppm info-available gsed formula
- run: uppm fetch gzip
- run: uppm fetch gtar -v
- run: uppm install gsed
- run: uppm info-installed gsed --files
- run: uppm info-installed gsed --json
- run: uppm info-installed gsed --yaml
- run: uppm info-installed gsed timestamp-unix
- run: uppm info-installed gsed timestamp-iso-8601
- run: uppm info-installed gsed timestamp-rfc-3339
- run: uppm info-installed gsed version
- run: uppm tree gsed
- run: uppm tree gsed -L 3
- run: |
printf '%s\n' 'version: 1000' >> ~/.uppm/repos.d/official-core/formula/gsed.yml
- run: uppm ls-available
- run: uppm ls-installed
- run: uppm ls-outdated
- run: uppm is-available curl
- run: uppm is-installed gsed
- run: uppm is-outdated gsed || echo not outdated
- run: uppm upgrade gsed
- run: uppm reinstall gsed
- run: uppm uninstall gsed
- run: uppm formula-repo-list
- run: uppm formula-repo-add my_repo https://github.com/leleliu008/uppm-formula-repository-linux-x86_64
- run: uppm formula-repo-del my_repo
- run: uppm cleanup
- run: uppm upgrade-self