ci: use git version for packages
This commit is contained in:
parent
5cff026d7e
commit
3991fc0d25
4 changed files with 22 additions and 25 deletions
9
.github/actions/get-version/action.yml
vendored
9
.github/actions/get-version/action.yml
vendored
|
|
@ -6,10 +6,9 @@ runs:
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- run: |
|
- run: |
|
||||||
if [[ "${{ github.ref }}" == refs/tags/* ]]; then
|
if [[ "$GITHUB_REF" == *"tags/v"* ]]; then
|
||||||
echo "DESKFLOW_VERSION=${{ github.ref_name }}" >> $GITHUB_ENV
|
echo "DESKFLOW_VERSION=${GITHUB_REF_NAME}" >> $GITHUB_ENV
|
||||||
fi
|
else
|
||||||
if [[ "${{ github.event.inputs.version }}" != "" ]]; then
|
echo "DESKFLOW_VERSION=$(git describe --long | sed 's/-/./g;s/v//g' | grep -o '^[0-9]*.[0-9]*.[0-9]*.[0-9]*')">> $GITHUB_ENV
|
||||||
echo "DESKFLOW_VERSION=${{ github.event.inputs.version }}" >> $GITHUB_ENV
|
|
||||||
fi
|
fi
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
|
||||||
15
.github/workflows/ci.yml
vendored
15
.github/workflows/ci.yml
vendored
|
|
@ -193,8 +193,11 @@ jobs:
|
||||||
with:
|
with:
|
||||||
job: ${{ matrix.target.name }}
|
job: ${{ matrix.target.name }}
|
||||||
|
|
||||||
|
- name: Get version
|
||||||
|
uses: ./.github/actions/get-version
|
||||||
|
|
||||||
- name: Package
|
- name: Package
|
||||||
run: python ./scripts/package.py
|
run: python ./scripts/package.py --package-version ${{env.DESKFLOW_VERSION}}
|
||||||
env:
|
env:
|
||||||
WINDOWS_PFX_CERTIFICATE: ${{ secrets.WINDOWS_PFX }}
|
WINDOWS_PFX_CERTIFICATE: ${{ secrets.WINDOWS_PFX }}
|
||||||
WINDOWS_PFX_PASSWORD: ${{ secrets.WINDOWS_PFX_PASS }}
|
WINDOWS_PFX_PASSWORD: ${{ secrets.WINDOWS_PFX_PASS }}
|
||||||
|
|
@ -267,8 +270,11 @@ jobs:
|
||||||
with:
|
with:
|
||||||
job: ${{ matrix.target.name }}
|
job: ${{ matrix.target.name }}
|
||||||
|
|
||||||
|
- name: Get version
|
||||||
|
uses: ./.github/actions/get-version
|
||||||
|
|
||||||
- name: Package
|
- name: Package
|
||||||
run: ./scripts/package.py
|
run: ./scripts/package.py --package-version ${{env.DESKFLOW_VERSION}}
|
||||||
env:
|
env:
|
||||||
APPLE_CODESIGN_ID: ${{ secrets.APPLE_CODESIGN_ID }}
|
APPLE_CODESIGN_ID: ${{ secrets.APPLE_CODESIGN_ID }}
|
||||||
APPLE_P12_CERTIFICATE: ${{ secrets.APPLE_P12_CERTIFICATE }}
|
APPLE_P12_CERTIFICATE: ${{ secrets.APPLE_P12_CERTIFICATE }}
|
||||||
|
|
@ -344,11 +350,14 @@ jobs:
|
||||||
with:
|
with:
|
||||||
job: linux-${{ matrix.distro.name }}
|
job: linux-${{ matrix.distro.name }}
|
||||||
|
|
||||||
|
- name: Get version
|
||||||
|
uses: ./.github/actions/get-version
|
||||||
|
|
||||||
- name: Package
|
- name: Package
|
||||||
env:
|
env:
|
||||||
LINUX_EXTRA_PACKAGES: ${{ matrix.distro.extra-packages }}
|
LINUX_EXTRA_PACKAGES: ${{ matrix.distro.extra-packages }}
|
||||||
LINUX_PACKAGE_USER: ${{ matrix.distro.package-user }}
|
LINUX_PACKAGE_USER: ${{ matrix.distro.package-user }}
|
||||||
run: ./scripts/package.py
|
run: ./scripts/package.py --package-version ${{env.DESKFLOW_VERSION}}
|
||||||
|
|
||||||
- name: Upload
|
- name: Upload
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
|
|
|
||||||
1
VERSION
1
VERSION
|
|
@ -1 +0,0 @@
|
||||||
1.18.0
|
|
||||||
|
|
@ -31,11 +31,14 @@ DEFAULT_PROJECT_BUILD_DIR = "build"
|
||||||
DEFAULT_DIST_DIR = "dist"
|
DEFAULT_DIST_DIR = "dist"
|
||||||
DEFAULT_TEST_CMD = "deskflow-server --version"
|
DEFAULT_TEST_CMD = "deskflow-server --version"
|
||||||
DEFAULT_PACKAGE_NAME = "deskflow"
|
DEFAULT_PACKAGE_NAME = "deskflow"
|
||||||
VERSION_FILE = "VERSION"
|
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
parser = argparse.ArgumentParser()
|
parser = argparse.ArgumentParser()
|
||||||
|
parser.add_argument(
|
||||||
|
"--package-version",
|
||||||
|
help="Set the Package Version",
|
||||||
|
required=True)
|
||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
"--leave-test-installed",
|
"--leave-test-installed",
|
||||||
action="store_true",
|
action="store_true",
|
||||||
|
|
@ -47,36 +50,23 @@ def main():
|
||||||
|
|
||||||
package(
|
package(
|
||||||
DEFAULT_FILENAME_BASE,
|
DEFAULT_FILENAME_BASE,
|
||||||
get_app_version(VERSION_FILE),
|
|
||||||
DEFAULT_PROJECT_BUILD_DIR,
|
DEFAULT_PROJECT_BUILD_DIR,
|
||||||
DEFAULT_DIST_DIR,
|
DEFAULT_DIST_DIR,
|
||||||
DEFAULT_TEST_CMD,
|
DEFAULT_TEST_CMD,
|
||||||
DEFAULT_PRODUCT_NAME,
|
DEFAULT_PRODUCT_NAME,
|
||||||
DEFAULT_PACKAGE_NAME,
|
DEFAULT_PACKAGE_NAME,
|
||||||
|
version=args.package_version,
|
||||||
leave_test_installed=args.leave_test_installed,
|
leave_test_installed=args.leave_test_installed,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
def get_app_version(filename):
|
|
||||||
"""
|
|
||||||
Returns the version either from the env var, or from the version file.
|
|
||||||
"""
|
|
||||||
version = env.get_env("DESKFLOW_VERSION", required=False)
|
|
||||||
if version:
|
|
||||||
return version
|
|
||||||
|
|
||||||
with open(filename, "r") as f:
|
|
||||||
return f.read().strip()
|
|
||||||
|
|
||||||
|
|
||||||
def package(
|
def package(
|
||||||
filename_prefix,
|
filename_prefix,
|
||||||
version,
|
|
||||||
project_build_dir,
|
project_build_dir,
|
||||||
dist_dir,
|
dist_dir,
|
||||||
test_cmd,
|
test_cmd,
|
||||||
product_name,
|
product_name,
|
||||||
package_name,
|
package_name,
|
||||||
|
version,
|
||||||
source_dir=None,
|
source_dir=None,
|
||||||
leave_test_installed=False,
|
leave_test_installed=False,
|
||||||
):
|
):
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue