summaryrefslogtreecommitdiffstats
path: root/.github/workflows/release.yml
blob: 6bf947b7a1b4c75ee1525ffd51c5aff7827be6be (plain)
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
name: Release

on:
  push:
    tags: ["v[0-9]+.[0-9]+.[0-9]+*"]

env:
  GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  CARGO_TERM_COLOR: always

jobs:
  macos:
    runs-on: macos-11

    steps:
      - uses: actions/checkout@v2
      - name: Install ARM target
        run: rustup update && rustup target add aarch64-apple-darwin
      - name: Test
        run: cargo test --release
      - name: Build ARM
        run: cargo build --release --target=aarch64-apple-darwin
      - name: Make DMG
        run: make dmg-universal
      - name: Upload Application
        run: |
          mv ./target/release/osx/Alacritty.dmg ./Alacritty-${GITHUB_REF##*/}.dmg
          ./.github/workflows/upload_asset.sh ./Alacritty-${GITHUB_REF##*/}.dmg $GITHUB_TOKEN

  windows:
    runs-on: windows-latest

    defaults:
      run:
        shell: bash

    steps:
      - uses: actions/checkout@v2
      - name: Test
        run: cargo test --release
      - name: Build
        run: cargo build --release
      - name: Upload portable executable
        run: |
          cp ./target/release/alacritty.exe ./Alacritty-${GITHUB_REF##*/}-portable.exe
          ./.github/workflows/upload_asset.sh \
            ./Alacritty-${GITHUB_REF##*/}-portable.exe $GITHUB_TOKEN
      - name: Install WiX
        run: nuget install WiX
      - name: Crate msi installer
        run: |
          ./WiX.*/tools/candle.exe -nologo -arch "x64" -ext WixUIExtension -ext WixUtilExtension \
            -out "./alacritty.wixobj" "extra/windows/wix/alacritty.wxs"
          ./WiX.*/tools/light.exe -nologo -ext WixUIExtension -ext WixUtilExtension \
            -out "./Alacritty-${GITHUB_REF##*/}-installer.msi" -sice:ICE61 -sice:ICE91 \
            "./alacritty.wixobj"
      - name: Upload msi installer
        run: |
          ./.github/workflows/upload_asset.sh \
            ./Alacritty-${GITHUB_REF##*/}-installer.msi $GITHUB_TOKEN

  linux:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v2
      - name: Install dependencies
        run: |
          sudo apt-get install cmake pkg-config libfreetype6-dev libfontconfig1-dev \
            libxcb-xfixes0-dev libxkbcommon-dev python3
      - name: Test
        run: cargo test --release
      - name: Gzip manpage
        run: |
          gzip -c "./extra/alacritty.man" > "./alacritty.1.gz"
          gzip -c "./extra/alacritty-msg.man" > "./alacritty-msg.1.gz"
      - name: Upload Assets
        run: |
          mv ./extra/logo/alacritty-term.svg ./Alacritty.svg
          ./.github/workflows/upload_asset.sh ./Alacritty.svg $GITHUB_TOKEN
          ./.github/workflows/upload_asset.sh ./alacritty.1.gz $GITHUB_TOKEN
          ./.github/workflows/upload_asset.sh ./alacritty-msg.1.gz $GITHUB_TOKEN
          ./.github/workflows/upload_asset.sh ./extra/completions/alacritty.bash $GITHUB_TOKEN
          ./.github/workflows/upload_asset.sh ./extra/completions/alacritty.fish $GITHUB_TOKEN
          ./.github/workflows/upload_asset.sh ./extra/completions/_alacritty $GITHUB_TOKEN
          ./.github/workflows/upload_asset.sh ./extra/linux/Alacritty.desktop $GITHUB_TOKEN
          ./.github/workflows/upload_asset.sh ./extra/alacritty.info $GITHUB_TOKEN
          ./.github/workflows/upload_asset.sh ./alacritty.yml $GITHUB_TOKEN