File: release.yml

package info (click to toggle)
tremotesf 2.9.1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 5,184 kB
  • sloc: cpp: 23,041; xml: 106; sh: 26; makefile: 4
file content (89 lines) | stat: -rw-r--r-- 2,810 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
# SPDX-FileCopyrightText: 2015-2025 Alexey Rochev
#
# SPDX-License-Identifier: CC0-1.0

name: Release

on:
  release:
    types: [published]

jobs:
  upload-source-archives:
    runs-on: ubuntu-latest

    steps:
    - name: Checkout
      uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3
      with:
        submodules: 'recursive'

    - name: Upload source archives to release
      run: |
        readarray -t archives < <(.github/workflows/make-source-archive.py gzip zstd)
        echo "Uploading source archives ${archives[@]}"
        gh release upload '${{ github.event.release.tag_name }}' "${archives[@]}"

        .github/workflows/make-flatpak-manifest-for-release.py '${{ github.event.release.tag_name }}' "${archives[-1]}"
        echo "Release Flatpak manifest:"
        cat org.equeim.Tremotesf.json
        gh release upload '${{ github.event.release.tag_name }}' org.equeim.Tremotesf.json
      env:
        GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

  upload-debian-source-package:
    runs-on: ubuntu-latest

    steps:
    - name: Check out sources
      uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3
      with:
        submodules: 'recursive'

    - name: Make source archive
      run: |
        .github/workflows/make-source-archive.py --output-directory .. --debian gzip

    - name: Check out Debian sources
      uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3
      with:
        repository: equeim/tremotesf-debian
        ref: ${{ github.event.release.tag_name }}
        path: tremotesf-debian

    - name: Remove everything except debian/ directory
      run: |
        mv tremotesf-debian/debian debian
        rm -rf tremotesf-debian

    - name: Make source package
      run: |
        dpkg-buildpackage --build=source --no-pre-clean

    - name: Upload source package to release
      run: |
        shopt -s failglob
        cd ..
        files=(tremotesf_*.debian.* tremotesf_*.dsc tremotesf_*.orig.*)
        archive_filename="$(basename tremotesf_*.dsc .dsc)-debian-source.tar.gz"
        echo "Archiving ${files[@]} to $archive_filename"
        tar --create --gzip --file "$archive_filename" "${files[@]}"
        echo "Uploading artifact $archive_filename"
        gh release upload --repo '${{ github.repository }}' '${{ github.event.release.tag_name }}' "$archive_filename"
      env:
        GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

  build-windows-msvc:
    strategy:
      fail-fast: false
      matrix:
        arch: ['x86_64', 'arm64']
    uses: ./.github/workflows/build-windows-msvc.yml
    with:
      arch: ${{ matrix.arch }}
      release-tag: ${{ github.event.release.tag_name }}

  build-macos:
    uses: ./.github/workflows/build-macos.yml
    with:
      release-tag: ${{ github.event.release.tag_name }}