mirror of
https://github.com/wez/wezterm.git
synced 2024-12-22 12:51:31 +03:00
Add opensuse packages to build/release workflows (#1916)
* added opensuse packaging * change deploy.sh rpm spec for opensuse * added missing opensuse openssh install logic * push generated workflows * fix typo in func name - yum vs zypper * Update ci/generate-workflows.py merge run steps Co-authored-by: Sandro <sandro.jaeckel@gmail.com> * fix libxcb-* packages for opensuse Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
This commit is contained in:
parent
f309f81274
commit
9f6d2db154
89
.github/workflows/gen_opensuse_leap.yml
vendored
Normal file
89
.github/workflows/gen_opensuse_leap.yml
vendored
Normal file
@ -0,0 +1,89 @@
|
|||||||
|
name: opensuse_leap
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
paths-ignore:
|
||||||
|
- ".cirrus.yml"
|
||||||
|
- "docs/*"
|
||||||
|
- "ci/build-docs.sh"
|
||||||
|
- "ci/generate-docs.py"
|
||||||
|
- "ci/subst-release-info.py"
|
||||||
|
- ".github/workflows/pages.yml"
|
||||||
|
- ".github/workflows/verify-pages.yml"
|
||||||
|
- ".github/workflows/no-response.yml"
|
||||||
|
- ".github/ISSUE_TEMPLATE/*"
|
||||||
|
- "**/*.md"
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: "ubuntu-latest"
|
||||||
|
container: "registry.opensuse.org/opensuse/leap:15.3"
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: "Seed GITHUB_PATH to work around possible @action/core bug"
|
||||||
|
shell: bash
|
||||||
|
run: 'echo "$PATH:/bin:/usr/bin" >> $GITHUB_PATH'
|
||||||
|
- name: "Install lsb-release"
|
||||||
|
shell: bash
|
||||||
|
run: "zypper install -y lsb-release"
|
||||||
|
- name: "Install util-linux"
|
||||||
|
shell: bash
|
||||||
|
run: "zypper install -y util-linux"
|
||||||
|
- name: "Install git"
|
||||||
|
shell: bash
|
||||||
|
run: "zypper install -y git"
|
||||||
|
- name: "Install curl"
|
||||||
|
shell: bash
|
||||||
|
run: "zypper install -y curl"
|
||||||
|
- name: "Ensure /run/sshd exists"
|
||||||
|
shell: bash
|
||||||
|
run: "mkdir -p /run/sshd"
|
||||||
|
- name: "Install openssh-server"
|
||||||
|
shell: bash
|
||||||
|
run: "zypper install -y openssh-server"
|
||||||
|
- name: "Workaround git permissions issue"
|
||||||
|
shell: bash
|
||||||
|
run: "git config --global --add safe.directory /__w/wezterm/wezterm"
|
||||||
|
- name: "checkout repo"
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
submodules: "recursive"
|
||||||
|
- name: "Install Rust"
|
||||||
|
uses: actions-rs/toolchain@v1
|
||||||
|
with:
|
||||||
|
profile: "minimal"
|
||||||
|
toolchain: "stable"
|
||||||
|
override: true
|
||||||
|
components: "rustfmt"
|
||||||
|
env:
|
||||||
|
ACTIONS_ALLOW_UNSECURE_COMMANDS: "true"
|
||||||
|
- name: "Cache cargo"
|
||||||
|
uses: actions/cache@v3
|
||||||
|
with:
|
||||||
|
path: |
|
||||||
|
~/.cargo/registry
|
||||||
|
~/.cargo/git
|
||||||
|
target
|
||||||
|
key: "opensuse_leap-None-2-${{ runner.os }}-${{ hashFiles('**/Cargo.lock') }}-cargo"
|
||||||
|
- name: "Install System Deps"
|
||||||
|
shell: bash
|
||||||
|
run: "env PATH=$PATH ./get-deps"
|
||||||
|
- name: "Build (Release mode)"
|
||||||
|
shell: bash
|
||||||
|
run: "cargo build --all --release"
|
||||||
|
- name: "Test (Release mode)"
|
||||||
|
shell: bash
|
||||||
|
run: "cargo test --all --release"
|
||||||
|
- name: "Package"
|
||||||
|
shell: bash
|
||||||
|
run: "bash ci/deploy.sh"
|
||||||
|
- name: "Move RPM"
|
||||||
|
shell: bash
|
||||||
|
run: "mv /usr/src/packages/RPMS/*/*.rpm ."
|
||||||
|
- name: "Upload artifact"
|
||||||
|
uses: actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: "opensuse_leap"
|
||||||
|
path: "wezterm-*.rpm"
|
114
.github/workflows/gen_opensuse_leap_continuous.yml
vendored
Normal file
114
.github/workflows/gen_opensuse_leap_continuous.yml
vendored
Normal file
@ -0,0 +1,114 @@
|
|||||||
|
name: opensuse_leap_continuous
|
||||||
|
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
- cron: "10 3 * * *"
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
paths-ignore:
|
||||||
|
- ".cirrus.yml"
|
||||||
|
- "docs/**"
|
||||||
|
- "ci/build-docs.sh"
|
||||||
|
- "ci/generate-docs.py"
|
||||||
|
- "ci/subst-release-info.py"
|
||||||
|
- ".github/workflows/pages.yml"
|
||||||
|
- ".github/workflows/verify-pages.yml"
|
||||||
|
- ".github/workflows/no-response.yml"
|
||||||
|
- ".github/ISSUE_TEMPLATE/*"
|
||||||
|
- "**/*.md"
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: "ubuntu-latest"
|
||||||
|
container: "registry.opensuse.org/opensuse/leap:15.3"
|
||||||
|
env:
|
||||||
|
BUILD_REASON: "Schedule"
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: "Seed GITHUB_PATH to work around possible @action/core bug"
|
||||||
|
shell: bash
|
||||||
|
run: 'echo "$PATH:/bin:/usr/bin" >> $GITHUB_PATH'
|
||||||
|
- name: "Install lsb-release"
|
||||||
|
shell: bash
|
||||||
|
run: "zypper install -y lsb-release"
|
||||||
|
- name: "Install util-linux"
|
||||||
|
shell: bash
|
||||||
|
run: "zypper install -y util-linux"
|
||||||
|
- name: "Install git"
|
||||||
|
shell: bash
|
||||||
|
run: "zypper install -y git"
|
||||||
|
- name: "Install curl"
|
||||||
|
shell: bash
|
||||||
|
run: "zypper install -y curl"
|
||||||
|
- name: "Ensure /run/sshd exists"
|
||||||
|
shell: bash
|
||||||
|
run: "mkdir -p /run/sshd"
|
||||||
|
- name: "Install openssh-server"
|
||||||
|
shell: bash
|
||||||
|
run: "zypper install -y openssh-server"
|
||||||
|
- name: "Workaround git permissions issue"
|
||||||
|
shell: bash
|
||||||
|
run: "git config --global --add safe.directory /__w/wezterm/wezterm"
|
||||||
|
- name: "checkout repo"
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
submodules: "recursive"
|
||||||
|
- name: "Install Rust"
|
||||||
|
uses: actions-rs/toolchain@v1
|
||||||
|
with:
|
||||||
|
profile: "minimal"
|
||||||
|
toolchain: "stable"
|
||||||
|
override: true
|
||||||
|
components: "rustfmt"
|
||||||
|
env:
|
||||||
|
ACTIONS_ALLOW_UNSECURE_COMMANDS: "true"
|
||||||
|
- name: "Cache cargo"
|
||||||
|
uses: actions/cache@v3
|
||||||
|
with:
|
||||||
|
path: |
|
||||||
|
~/.cargo/registry
|
||||||
|
~/.cargo/git
|
||||||
|
target
|
||||||
|
key: "opensuse_leap-None-2-${{ runner.os }}-${{ hashFiles('**/Cargo.lock') }}-cargo"
|
||||||
|
- name: "Install System Deps"
|
||||||
|
shell: bash
|
||||||
|
run: "env PATH=$PATH ./get-deps"
|
||||||
|
- name: "Build (Release mode)"
|
||||||
|
shell: bash
|
||||||
|
run: "cargo build --all --release"
|
||||||
|
- name: "Test (Release mode)"
|
||||||
|
shell: bash
|
||||||
|
run: "cargo test --all --release"
|
||||||
|
- name: "Package"
|
||||||
|
shell: bash
|
||||||
|
run: "bash ci/deploy.sh"
|
||||||
|
- name: "Move RPM"
|
||||||
|
shell: bash
|
||||||
|
run: "mv /usr/src/packages/RPMS/*/*.rpm wezterm-nightly-opensuse_leap.rpm"
|
||||||
|
- name: "Upload artifact"
|
||||||
|
uses: actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: "opensuse_leap"
|
||||||
|
path: "wezterm-*.rpm"
|
||||||
|
retention-days: 5
|
||||||
|
|
||||||
|
upload:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs: build
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: "Workaround git permissions issue"
|
||||||
|
shell: bash
|
||||||
|
run: "git config --global --add safe.directory /__w/wezterm/wezterm"
|
||||||
|
- name: "checkout repo"
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
- name: "Download artifact"
|
||||||
|
uses: actions/download-artifact@v3
|
||||||
|
with:
|
||||||
|
name: "opensuse_leap"
|
||||||
|
- name: "Upload to Nightly Release"
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
shell: bash
|
||||||
|
run: "bash ci/retry.sh gh release upload --clobber nightly wezterm-*.rpm"
|
105
.github/workflows/gen_opensuse_leap_tag.yml
vendored
Normal file
105
.github/workflows/gen_opensuse_leap_tag.yml
vendored
Normal file
@ -0,0 +1,105 @@
|
|||||||
|
name: opensuse_leap_tag
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
tags:
|
||||||
|
- "20*"
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: "ubuntu-latest"
|
||||||
|
container: "registry.opensuse.org/opensuse/leap:15.3"
|
||||||
|
env:
|
||||||
|
BUILD_REASON: "Schedule"
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: "Seed GITHUB_PATH to work around possible @action/core bug"
|
||||||
|
shell: bash
|
||||||
|
run: 'echo "$PATH:/bin:/usr/bin" >> $GITHUB_PATH'
|
||||||
|
- name: "Install lsb-release"
|
||||||
|
shell: bash
|
||||||
|
run: "zypper install -y lsb-release"
|
||||||
|
- name: "Install util-linux"
|
||||||
|
shell: bash
|
||||||
|
run: "zypper install -y util-linux"
|
||||||
|
- name: "Install git"
|
||||||
|
shell: bash
|
||||||
|
run: "zypper install -y git"
|
||||||
|
- name: "Install curl"
|
||||||
|
shell: bash
|
||||||
|
run: "zypper install -y curl"
|
||||||
|
- name: "Ensure /run/sshd exists"
|
||||||
|
shell: bash
|
||||||
|
run: "mkdir -p /run/sshd"
|
||||||
|
- name: "Install openssh-server"
|
||||||
|
shell: bash
|
||||||
|
run: "zypper install -y openssh-server"
|
||||||
|
- name: "Workaround git permissions issue"
|
||||||
|
shell: bash
|
||||||
|
run: "git config --global --add safe.directory /__w/wezterm/wezterm"
|
||||||
|
- name: "checkout repo"
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
submodules: "recursive"
|
||||||
|
- name: "Install Rust"
|
||||||
|
uses: actions-rs/toolchain@v1
|
||||||
|
with:
|
||||||
|
profile: "minimal"
|
||||||
|
toolchain: "stable"
|
||||||
|
override: true
|
||||||
|
components: "rustfmt"
|
||||||
|
env:
|
||||||
|
ACTIONS_ALLOW_UNSECURE_COMMANDS: "true"
|
||||||
|
- name: "Cache cargo"
|
||||||
|
uses: actions/cache@v3
|
||||||
|
with:
|
||||||
|
path: |
|
||||||
|
~/.cargo/registry
|
||||||
|
~/.cargo/git
|
||||||
|
target
|
||||||
|
key: "opensuse_leap-None-2-${{ runner.os }}-${{ hashFiles('**/Cargo.lock') }}-cargo"
|
||||||
|
- name: "Install System Deps"
|
||||||
|
shell: bash
|
||||||
|
run: "env PATH=$PATH ./get-deps"
|
||||||
|
- name: "Build (Release mode)"
|
||||||
|
shell: bash
|
||||||
|
run: "cargo build --all --release"
|
||||||
|
- name: "Test (Release mode)"
|
||||||
|
shell: bash
|
||||||
|
run: "cargo test --all --release"
|
||||||
|
- name: "Package"
|
||||||
|
shell: bash
|
||||||
|
run: "bash ci/deploy.sh"
|
||||||
|
- name: "Move RPM"
|
||||||
|
shell: bash
|
||||||
|
run: "mv /usr/src/packages/RPMS/*/*.rpm ."
|
||||||
|
- name: "Upload artifact"
|
||||||
|
uses: actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: "opensuse_leap"
|
||||||
|
path: "wezterm-*.rpm"
|
||||||
|
|
||||||
|
upload:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs: build
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: "Workaround git permissions issue"
|
||||||
|
shell: bash
|
||||||
|
run: "git config --global --add safe.directory /__w/wezterm/wezterm"
|
||||||
|
- name: "checkout repo"
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
- name: "Download artifact"
|
||||||
|
uses: actions/download-artifact@v3
|
||||||
|
with:
|
||||||
|
name: "opensuse_leap"
|
||||||
|
- name: "Create pre-release"
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
shell: bash
|
||||||
|
run: "bash ci/retry.sh bash ci/create-release.sh $(ci/tag-name.sh)"
|
||||||
|
- name: "Upload to Tagged Release"
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
shell: bash
|
||||||
|
run: "bash ci/retry.sh gh release upload --clobber $(ci/tag-name.sh) wezterm-*.rpm"
|
89
.github/workflows/gen_opensuse_tumbleweed.yml
vendored
Normal file
89
.github/workflows/gen_opensuse_tumbleweed.yml
vendored
Normal file
@ -0,0 +1,89 @@
|
|||||||
|
name: opensuse_tumbleweed
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
paths-ignore:
|
||||||
|
- ".cirrus.yml"
|
||||||
|
- "docs/*"
|
||||||
|
- "ci/build-docs.sh"
|
||||||
|
- "ci/generate-docs.py"
|
||||||
|
- "ci/subst-release-info.py"
|
||||||
|
- ".github/workflows/pages.yml"
|
||||||
|
- ".github/workflows/verify-pages.yml"
|
||||||
|
- ".github/workflows/no-response.yml"
|
||||||
|
- ".github/ISSUE_TEMPLATE/*"
|
||||||
|
- "**/*.md"
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: "ubuntu-latest"
|
||||||
|
container: "registry.opensuse.org/opensuse/tumbleweed"
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: "Seed GITHUB_PATH to work around possible @action/core bug"
|
||||||
|
shell: bash
|
||||||
|
run: 'echo "$PATH:/bin:/usr/bin" >> $GITHUB_PATH'
|
||||||
|
- name: "Install lsb-release"
|
||||||
|
shell: bash
|
||||||
|
run: "zypper install -y lsb-release"
|
||||||
|
- name: "Install util-linux"
|
||||||
|
shell: bash
|
||||||
|
run: "zypper install -y util-linux"
|
||||||
|
- name: "Install git"
|
||||||
|
shell: bash
|
||||||
|
run: "zypper install -y git"
|
||||||
|
- name: "Install curl"
|
||||||
|
shell: bash
|
||||||
|
run: "zypper install -y curl"
|
||||||
|
- name: "Ensure /run/sshd exists"
|
||||||
|
shell: bash
|
||||||
|
run: "mkdir -p /run/sshd"
|
||||||
|
- name: "Install openssh-server"
|
||||||
|
shell: bash
|
||||||
|
run: "zypper install -y openssh-server"
|
||||||
|
- name: "Workaround git permissions issue"
|
||||||
|
shell: bash
|
||||||
|
run: "git config --global --add safe.directory /__w/wezterm/wezterm"
|
||||||
|
- name: "checkout repo"
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
submodules: "recursive"
|
||||||
|
- name: "Install Rust"
|
||||||
|
uses: actions-rs/toolchain@v1
|
||||||
|
with:
|
||||||
|
profile: "minimal"
|
||||||
|
toolchain: "stable"
|
||||||
|
override: true
|
||||||
|
components: "rustfmt"
|
||||||
|
env:
|
||||||
|
ACTIONS_ALLOW_UNSECURE_COMMANDS: "true"
|
||||||
|
- name: "Cache cargo"
|
||||||
|
uses: actions/cache@v3
|
||||||
|
with:
|
||||||
|
path: |
|
||||||
|
~/.cargo/registry
|
||||||
|
~/.cargo/git
|
||||||
|
target
|
||||||
|
key: "opensuse_tumbleweed-None-2-${{ runner.os }}-${{ hashFiles('**/Cargo.lock') }}-cargo"
|
||||||
|
- name: "Install System Deps"
|
||||||
|
shell: bash
|
||||||
|
run: "env PATH=$PATH ./get-deps"
|
||||||
|
- name: "Build (Release mode)"
|
||||||
|
shell: bash
|
||||||
|
run: "cargo build --all --release"
|
||||||
|
- name: "Test (Release mode)"
|
||||||
|
shell: bash
|
||||||
|
run: "cargo test --all --release"
|
||||||
|
- name: "Package"
|
||||||
|
shell: bash
|
||||||
|
run: "bash ci/deploy.sh"
|
||||||
|
- name: "Move RPM"
|
||||||
|
shell: bash
|
||||||
|
run: "mv /usr/src/packages/RPMS/*/*.rpm ."
|
||||||
|
- name: "Upload artifact"
|
||||||
|
uses: actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: "opensuse_tumbleweed"
|
||||||
|
path: "wezterm-*.rpm"
|
114
.github/workflows/gen_opensuse_tumbleweed_continuous.yml
vendored
Normal file
114
.github/workflows/gen_opensuse_tumbleweed_continuous.yml
vendored
Normal file
@ -0,0 +1,114 @@
|
|||||||
|
name: opensuse_tumbleweed_continuous
|
||||||
|
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
- cron: "10 3 * * *"
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
paths-ignore:
|
||||||
|
- ".cirrus.yml"
|
||||||
|
- "docs/**"
|
||||||
|
- "ci/build-docs.sh"
|
||||||
|
- "ci/generate-docs.py"
|
||||||
|
- "ci/subst-release-info.py"
|
||||||
|
- ".github/workflows/pages.yml"
|
||||||
|
- ".github/workflows/verify-pages.yml"
|
||||||
|
- ".github/workflows/no-response.yml"
|
||||||
|
- ".github/ISSUE_TEMPLATE/*"
|
||||||
|
- "**/*.md"
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: "ubuntu-latest"
|
||||||
|
container: "registry.opensuse.org/opensuse/tumbleweed"
|
||||||
|
env:
|
||||||
|
BUILD_REASON: "Schedule"
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: "Seed GITHUB_PATH to work around possible @action/core bug"
|
||||||
|
shell: bash
|
||||||
|
run: 'echo "$PATH:/bin:/usr/bin" >> $GITHUB_PATH'
|
||||||
|
- name: "Install lsb-release"
|
||||||
|
shell: bash
|
||||||
|
run: "zypper install -y lsb-release"
|
||||||
|
- name: "Install util-linux"
|
||||||
|
shell: bash
|
||||||
|
run: "zypper install -y util-linux"
|
||||||
|
- name: "Install git"
|
||||||
|
shell: bash
|
||||||
|
run: "zypper install -y git"
|
||||||
|
- name: "Install curl"
|
||||||
|
shell: bash
|
||||||
|
run: "zypper install -y curl"
|
||||||
|
- name: "Ensure /run/sshd exists"
|
||||||
|
shell: bash
|
||||||
|
run: "mkdir -p /run/sshd"
|
||||||
|
- name: "Install openssh-server"
|
||||||
|
shell: bash
|
||||||
|
run: "zypper install -y openssh-server"
|
||||||
|
- name: "Workaround git permissions issue"
|
||||||
|
shell: bash
|
||||||
|
run: "git config --global --add safe.directory /__w/wezterm/wezterm"
|
||||||
|
- name: "checkout repo"
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
submodules: "recursive"
|
||||||
|
- name: "Install Rust"
|
||||||
|
uses: actions-rs/toolchain@v1
|
||||||
|
with:
|
||||||
|
profile: "minimal"
|
||||||
|
toolchain: "stable"
|
||||||
|
override: true
|
||||||
|
components: "rustfmt"
|
||||||
|
env:
|
||||||
|
ACTIONS_ALLOW_UNSECURE_COMMANDS: "true"
|
||||||
|
- name: "Cache cargo"
|
||||||
|
uses: actions/cache@v3
|
||||||
|
with:
|
||||||
|
path: |
|
||||||
|
~/.cargo/registry
|
||||||
|
~/.cargo/git
|
||||||
|
target
|
||||||
|
key: "opensuse_tumbleweed-None-2-${{ runner.os }}-${{ hashFiles('**/Cargo.lock') }}-cargo"
|
||||||
|
- name: "Install System Deps"
|
||||||
|
shell: bash
|
||||||
|
run: "env PATH=$PATH ./get-deps"
|
||||||
|
- name: "Build (Release mode)"
|
||||||
|
shell: bash
|
||||||
|
run: "cargo build --all --release"
|
||||||
|
- name: "Test (Release mode)"
|
||||||
|
shell: bash
|
||||||
|
run: "cargo test --all --release"
|
||||||
|
- name: "Package"
|
||||||
|
shell: bash
|
||||||
|
run: "bash ci/deploy.sh"
|
||||||
|
- name: "Move RPM"
|
||||||
|
shell: bash
|
||||||
|
run: "mv /usr/src/packages/RPMS/*/*.rpm wezterm-nightly-opensuse_tumbleweed.rpm"
|
||||||
|
- name: "Upload artifact"
|
||||||
|
uses: actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: "opensuse_tumbleweed"
|
||||||
|
path: "wezterm-*.rpm"
|
||||||
|
retention-days: 5
|
||||||
|
|
||||||
|
upload:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs: build
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: "Workaround git permissions issue"
|
||||||
|
shell: bash
|
||||||
|
run: "git config --global --add safe.directory /__w/wezterm/wezterm"
|
||||||
|
- name: "checkout repo"
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
- name: "Download artifact"
|
||||||
|
uses: actions/download-artifact@v3
|
||||||
|
with:
|
||||||
|
name: "opensuse_tumbleweed"
|
||||||
|
- name: "Upload to Nightly Release"
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
shell: bash
|
||||||
|
run: "bash ci/retry.sh gh release upload --clobber nightly wezterm-*.rpm"
|
105
.github/workflows/gen_opensuse_tumbleweed_tag.yml
vendored
Normal file
105
.github/workflows/gen_opensuse_tumbleweed_tag.yml
vendored
Normal file
@ -0,0 +1,105 @@
|
|||||||
|
name: opensuse_tumbleweed_tag
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
tags:
|
||||||
|
- "20*"
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: "ubuntu-latest"
|
||||||
|
container: "registry.opensuse.org/opensuse/tumbleweed"
|
||||||
|
env:
|
||||||
|
BUILD_REASON: "Schedule"
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: "Seed GITHUB_PATH to work around possible @action/core bug"
|
||||||
|
shell: bash
|
||||||
|
run: 'echo "$PATH:/bin:/usr/bin" >> $GITHUB_PATH'
|
||||||
|
- name: "Install lsb-release"
|
||||||
|
shell: bash
|
||||||
|
run: "zypper install -y lsb-release"
|
||||||
|
- name: "Install util-linux"
|
||||||
|
shell: bash
|
||||||
|
run: "zypper install -y util-linux"
|
||||||
|
- name: "Install git"
|
||||||
|
shell: bash
|
||||||
|
run: "zypper install -y git"
|
||||||
|
- name: "Install curl"
|
||||||
|
shell: bash
|
||||||
|
run: "zypper install -y curl"
|
||||||
|
- name: "Ensure /run/sshd exists"
|
||||||
|
shell: bash
|
||||||
|
run: "mkdir -p /run/sshd"
|
||||||
|
- name: "Install openssh-server"
|
||||||
|
shell: bash
|
||||||
|
run: "zypper install -y openssh-server"
|
||||||
|
- name: "Workaround git permissions issue"
|
||||||
|
shell: bash
|
||||||
|
run: "git config --global --add safe.directory /__w/wezterm/wezterm"
|
||||||
|
- name: "checkout repo"
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
submodules: "recursive"
|
||||||
|
- name: "Install Rust"
|
||||||
|
uses: actions-rs/toolchain@v1
|
||||||
|
with:
|
||||||
|
profile: "minimal"
|
||||||
|
toolchain: "stable"
|
||||||
|
override: true
|
||||||
|
components: "rustfmt"
|
||||||
|
env:
|
||||||
|
ACTIONS_ALLOW_UNSECURE_COMMANDS: "true"
|
||||||
|
- name: "Cache cargo"
|
||||||
|
uses: actions/cache@v3
|
||||||
|
with:
|
||||||
|
path: |
|
||||||
|
~/.cargo/registry
|
||||||
|
~/.cargo/git
|
||||||
|
target
|
||||||
|
key: "opensuse_tumbleweed-None-2-${{ runner.os }}-${{ hashFiles('**/Cargo.lock') }}-cargo"
|
||||||
|
- name: "Install System Deps"
|
||||||
|
shell: bash
|
||||||
|
run: "env PATH=$PATH ./get-deps"
|
||||||
|
- name: "Build (Release mode)"
|
||||||
|
shell: bash
|
||||||
|
run: "cargo build --all --release"
|
||||||
|
- name: "Test (Release mode)"
|
||||||
|
shell: bash
|
||||||
|
run: "cargo test --all --release"
|
||||||
|
- name: "Package"
|
||||||
|
shell: bash
|
||||||
|
run: "bash ci/deploy.sh"
|
||||||
|
- name: "Move RPM"
|
||||||
|
shell: bash
|
||||||
|
run: "mv /usr/src/packages/RPMS/*/*.rpm ."
|
||||||
|
- name: "Upload artifact"
|
||||||
|
uses: actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: "opensuse_tumbleweed"
|
||||||
|
path: "wezterm-*.rpm"
|
||||||
|
|
||||||
|
upload:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs: build
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: "Workaround git permissions issue"
|
||||||
|
shell: bash
|
||||||
|
run: "git config --global --add safe.directory /__w/wezterm/wezterm"
|
||||||
|
- name: "checkout repo"
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
- name: "Download artifact"
|
||||||
|
uses: actions/download-artifact@v3
|
||||||
|
with:
|
||||||
|
name: "opensuse_tumbleweed"
|
||||||
|
- name: "Create pre-release"
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
shell: bash
|
||||||
|
run: "bash ci/retry.sh bash ci/create-release.sh $(ci/tag-name.sh)"
|
||||||
|
- name: "Upload to Tagged Release"
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
shell: bash
|
||||||
|
run: "bash ci/retry.sh gh release upload --clobber $(ci/tag-name.sh) wezterm-*.rpm"
|
@ -124,11 +124,11 @@ case $OSTYPE in
|
|||||||
7z a -tzip $zipname $zipdir
|
7z a -tzip $zipname $zipdir
|
||||||
iscc.exe -DMyAppVersion=${TAG_NAME#nightly} -F${instname} ci/windows-installer.iss
|
iscc.exe -DMyAppVersion=${TAG_NAME#nightly} -F${instname} ci/windows-installer.iss
|
||||||
;;
|
;;
|
||||||
linux-gnu)
|
linux-gnu|linux)
|
||||||
distro=$(lsb_release -is 2>/dev/null || sh -c "source /etc/os-release && echo \$NAME")
|
distro=$(lsb_release -is 2>/dev/null || sh -c "source /etc/os-release && echo \$NAME")
|
||||||
distver=$(lsb_release -rs 2>/dev/null || sh -c "source /etc/os-release && echo \$VERSION_ID")
|
distver=$(lsb_release -rs 2>/dev/null || sh -c "source /etc/os-release && echo \$VERSION_ID")
|
||||||
case "$distro" in
|
case "$distro" in
|
||||||
*Fedora*|*CentOS*)
|
*Fedora*|*CentOS*|*SUSE*)
|
||||||
WEZTERM_RPM_VERSION=$(echo ${TAG_NAME#nightly-} | tr - _)
|
WEZTERM_RPM_VERSION=$(echo ${TAG_NAME#nightly-} | tr - _)
|
||||||
cat > wezterm.spec <<EOF
|
cat > wezterm.spec <<EOF
|
||||||
Name: wezterm
|
Name: wezterm
|
||||||
@ -138,7 +138,11 @@ Packager: Wez Furlong <wez@wezfurlong.org>
|
|||||||
License: MIT
|
License: MIT
|
||||||
URL: https://wezfurlong.org/wezterm/
|
URL: https://wezfurlong.org/wezterm/
|
||||||
Summary: Wez's Terminal Emulator.
|
Summary: Wez's Terminal Emulator.
|
||||||
|
%if 0%{?suse_version}
|
||||||
|
Requires: dbus-1, fontconfig, openssl, libxcb1, libxkbcommon0, libxkbcommon-x11-0, libwayland-client0, libwayland-egl1, libwayland-cursor0, Mesa-libEGL1, libxcb-keysyms1, libxcb-ewmh2, libxcb-icccm4
|
||||||
|
%else
|
||||||
Requires: dbus, fontconfig, openssl, libxcb, libxkbcommon, libxkbcommon-x11, libwayland-client, libwayland-egl, libwayland-cursor, mesa-libEGL, xcb-util-keysyms, xcb-util-wm
|
Requires: dbus, fontconfig, openssl, libxcb, libxkbcommon, libxkbcommon-x11, libwayland-client, libwayland-egl, libwayland-cursor, mesa-libEGL, xcb-util-keysyms, xcb-util-wm
|
||||||
|
%endif
|
||||||
|
|
||||||
%description
|
%description
|
||||||
wezterm is a terminal emulator with support for modern features
|
wezterm is a terminal emulator with support for modern features
|
||||||
|
@ -158,6 +158,11 @@ class Target(object):
|
|||||||
if "alpine" in self.name:
|
if "alpine" in self.name:
|
||||||
return True
|
return True
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
def uses_zypper(self):
|
||||||
|
if "suse" in self.name:
|
||||||
|
return True
|
||||||
|
return False
|
||||||
|
|
||||||
def needs_sudo(self):
|
def needs_sudo(self):
|
||||||
if not self.container and self.uses_apt():
|
if not self.container and self.uses_apt():
|
||||||
@ -172,6 +177,8 @@ class Target(object):
|
|||||||
installer = "apt-get"
|
installer = "apt-get"
|
||||||
elif self.uses_apk():
|
elif self.uses_apk():
|
||||||
installer = "apk"
|
installer = "apk"
|
||||||
|
elif self.uses_zypper():
|
||||||
|
installer = "zypper"
|
||||||
else:
|
else:
|
||||||
return []
|
return []
|
||||||
if self.needs_sudo():
|
if self.needs_sudo():
|
||||||
@ -182,7 +189,7 @@ class Target(object):
|
|||||||
return [RunStep(f"Install {name}", f"{installer} install -y {name}")]
|
return [RunStep(f"Install {name}", f"{installer} install -y {name}")]
|
||||||
|
|
||||||
def install_curl(self):
|
def install_curl(self):
|
||||||
if self.uses_yum() or self.uses_apk() or (self.uses_apt() and self.container):
|
if self.uses_yum() or self.uses_apk() or self.uses_zypper() or (self.uses_apt() and self.container):
|
||||||
if "centos:stream9" in self.container:
|
if "centos:stream9" in self.container:
|
||||||
return self.install_system_package("curl-minimal")
|
return self.install_system_package("curl-minimal")
|
||||||
else:
|
else:
|
||||||
@ -191,7 +198,7 @@ class Target(object):
|
|||||||
|
|
||||||
def install_openssh_server(self):
|
def install_openssh_server(self):
|
||||||
steps = []
|
steps = []
|
||||||
if self.uses_yum() or (self.uses_apt() and self.container):
|
if self.uses_yum() or self.uses_zypper() or (self.uses_apt() and self.container):
|
||||||
steps += [
|
steps += [
|
||||||
RunStep("Ensure /run/sshd exists", "mkdir -p /run/sshd")
|
RunStep("Ensure /run/sshd exists", "mkdir -p /run/sshd")
|
||||||
] + self.install_system_package("openssh-server")
|
] + self.install_system_package("openssh-server")
|
||||||
@ -233,6 +240,8 @@ class Target(object):
|
|||||||
pre_reqs = "yum install -y wget curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker make"
|
pre_reqs = "yum install -y wget curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker make"
|
||||||
elif self.uses_apt():
|
elif self.uses_apt():
|
||||||
pre_reqs = "apt-get install -y wget libcurl4-openssl-dev libexpat-dev gettext libssl-dev libz-dev gcc libextutils-autoinstall-perl make"
|
pre_reqs = "apt-get install -y wget libcurl4-openssl-dev libexpat-dev gettext libssl-dev libz-dev gcc libextutils-autoinstall-perl make"
|
||||||
|
elif self.uses_zypper():
|
||||||
|
pre_reqs = "zypper install -y wget libcurl-devel libexpat-devel gettext-tools libopenssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker make"
|
||||||
|
|
||||||
steps.append(
|
steps.append(
|
||||||
RunStep(
|
RunStep(
|
||||||
@ -395,6 +404,13 @@ cargo build --all --release""",
|
|||||||
f"mv ~/.abuild/*.pub wezterm-{self.name}.pub",
|
f"mv ~/.abuild/*.pub wezterm-{self.name}.pub",
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
elif self.uses_zypper():
|
||||||
|
steps.append(
|
||||||
|
RunStep(
|
||||||
|
"Move RPM",
|
||||||
|
f"mv /usr/src/packages/RPMS/*/*.rpm .",
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
patterns = self.asset_patterns()
|
patterns = self.asset_patterns()
|
||||||
glob = " ".join(patterns)
|
glob = " ".join(patterns)
|
||||||
@ -410,7 +426,7 @@ cargo build --all --release""",
|
|||||||
|
|
||||||
def asset_patterns(self):
|
def asset_patterns(self):
|
||||||
patterns = []
|
patterns = []
|
||||||
if self.uses_yum():
|
if self.uses_yum() or self.uses_zypper():
|
||||||
patterns += ["wezterm-*.rpm"]
|
patterns += ["wezterm-*.rpm"]
|
||||||
elif "win" in self.name:
|
elif "win" in self.name:
|
||||||
patterns += ["WezTerm-*.zip", "WezTerm-*.exe"]
|
patterns += ["WezTerm-*.zip", "WezTerm-*.exe"]
|
||||||
@ -446,6 +462,13 @@ cargo build --all --release""",
|
|||||||
f"mv ~/packages/wezterm/x86_64/*.apk wezterm-nightly-{self.name}.apk",
|
f"mv ~/packages/wezterm/x86_64/*.apk wezterm-nightly-{self.name}.apk",
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
elif self.uses_zypper():
|
||||||
|
steps.append(
|
||||||
|
RunStep(
|
||||||
|
"Move RPM",
|
||||||
|
f"mv /usr/src/packages/RPMS/*/*.rpm wezterm-nightly-{self.name}.rpm",
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
patterns = self.asset_patterns()
|
patterns = self.asset_patterns()
|
||||||
glob = " ".join(patterns)
|
glob = " ".join(patterns)
|
||||||
@ -581,6 +604,18 @@ cargo build --all --release""",
|
|||||||
RunStep("Update APT", f"{sudo}apt update"),
|
RunStep("Update APT", f"{sudo}apt update"),
|
||||||
]
|
]
|
||||||
|
|
||||||
|
if self.uses_zypper():
|
||||||
|
if self.container:
|
||||||
|
steps += [
|
||||||
|
RunStep(
|
||||||
|
"Seed GITHUB_PATH to work around possible @action/core bug",
|
||||||
|
f"echo \"$PATH:/bin:/usr/bin\" >> $GITHUB_PATH"
|
||||||
|
),
|
||||||
|
RunStep(
|
||||||
|
"Install lsb-release & util-linux",
|
||||||
|
"zypper install -y lsb-release util-linux"
|
||||||
|
),
|
||||||
|
]
|
||||||
if self.container:
|
if self.container:
|
||||||
if ("fedora" in self.container) or ("centos" in self.container):
|
if ("fedora" in self.container) or ("centos" in self.container):
|
||||||
steps += [
|
steps += [
|
||||||
@ -735,6 +770,8 @@ TARGETS = [
|
|||||||
Target(container="alpine:3.13"),
|
Target(container="alpine:3.13"),
|
||||||
Target(container="alpine:3.14"),
|
Target(container="alpine:3.14"),
|
||||||
Target(container="alpine:3.15"),
|
Target(container="alpine:3.15"),
|
||||||
|
Target(name="opensuse_leap", container="registry.opensuse.org/opensuse/leap:15.3"),
|
||||||
|
Target(name="opensuse_tumbleweed", container="registry.opensuse.org/opensuse/tumbleweed"),
|
||||||
Target(name="windows", os="windows-latest", rust_target="x86_64-pc-windows-msvc"),
|
Target(name="windows", os="windows-latest", rust_target="x86_64-pc-windows-msvc"),
|
||||||
]
|
]
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user