Skip to content

Add commands for managing apps on device (#667) #710

Add commands for managing apps on device (#667)

Add commands for managing apps on device (#667) #710

Workflow file for this run

name: pixlet
on:
push:
branches:
- main
tags:
- "v[0-9]+.[0-9]+.[0-9]+"
jobs:
lint:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
- name: Set up Go
uses: actions/setup-go@v3
with:
go-version: "1.19"
- name: Install buildifier
run: make install-buildifier
- name: Run buildifier
run: buildifier -d -r ./
build-and-test-release:
name: Build and Test Release Artifacts
strategy:
matrix:
os: [ubuntu-22.04, macos-latest, windows-latest]
runs-on: ${{ matrix.os }}
steps:
- name: Install Go
uses: actions/setup-go@v3
with:
go-version: "1.19"
- name: Install Node
uses: actions/setup-node@v3
with:
node-version: "16"
- name: Setup MSYS2
uses: msys2/setup-msys2@v2
if: matrix.os == 'windows-latest'
with:
msystem: mingw64
update: true
install: >-
make
curl
mingw-w64-x86_64-go
mingw-w64-x86_64-toolchain
- name: Checkout code
uses: actions/checkout@v3
- name: Install Linux dependencies
if: matrix.os == 'ubuntu-22.04'
run: sudo ./scripts/setup-linux.sh
- name: Install macOS dependencies
if: matrix.os == 'macos-latest'
run: ./scripts/setup-macos.sh
- name: Install Windows dependencies
if: matrix.os == 'windows-latest'
shell: msys2 {0}
run: |
set MSYSTEM=MINGW64
curl -LO https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-libwebp-1.2.4-4-any.pkg.tar.zst
pacman -U --noconfirm mingw-w64-x86_64-libwebp-1.2.4-4-any.pkg.tar.zst
- name: Install frontend dependencies
run: npm install
- name: Build frontend
run: npm run build
- name: Build
run: make build
if: matrix.os == 'ubuntu-22.04' || matrix.os == 'macos-latest'
- name: Build Windows
shell: msys2 {0}
run: |
set MSYSTEM=MINGW64
make build
if: matrix.os == 'windows-latest'
- name: Test
run: make test
if: matrix.os == 'ubuntu-22.04' || matrix.os == 'macos-latest'
- name: Test Windows
shell: msys2 {0}
run: |
set MSYSTEM=MINGW64
make test
if: matrix.os == 'windows-latest'
- name: Set pixlet version
id: vars
run: echo ::set-output name=tag::${GITHUB_REF#refs/*/}
if: matrix.os == 'ubuntu-22.04' || matrix.os == 'macos-latest'
- name: Set Windows pixlet version
id: windowsvars
shell: msys2 {0}
run: |
set MSYSTEM=MINGW64
echo ::set-output name=tag::${GITHUB_REF#refs/*/}
if: matrix.os == 'windows-latest'
- name: Build Release Linux
if: matrix.os == 'ubuntu-22.04'
run: make release-linux
env:
PIXLET_VERSION: ${{ steps.vars.outputs.tag }}
- name: Build Release macOS
if: matrix.os == 'macos-latest'
run: make release-macos
env:
PIXLET_VERSION: ${{ steps.vars.outputs.tag }}
- name: Build Release Windows
if: matrix.os == 'windows-latest'
shell: msys2 {0}
run: |
set MSYSTEM=MINGW64
make release-windows
env:
PIXLET_VERSION: ${{ steps.windowsvars.outputs.tag }}
- name: Upload Release Artifacts
uses: actions/upload-artifact@v3
with:
name: release-artifacts
path: build
create-release:
name: Create Github Release
runs-on: ubuntu-22.04
environment: release
needs: build-and-test-release
if: startsWith(github.ref, 'refs/tags/')
steps:
- name: Checkout Code
uses: actions/checkout@v3
with:
fetch-depth: "0"
- name: Install Go
uses: actions/setup-go@v3
with:
go-version: "1.19"
- name: Fetch Release Artifacts
uses: actions/download-artifact@v3
with:
name: release-artifacts
path: build
- name: Run GoReleaser
uses: goreleaser/goreleaser-action@v4
with:
distribution: goreleaser-pro
version: v1.12.3
args: release
env:
GORELEASER_KEY: ${{ secrets.GORELEASER_KEY }}
GITHUB_TOKEN: ${{ secrets.TIDBYT_GITHUB_TOKEN }}
DISCORD_WEBHOOK_ID: ${{ secrets.DISCORD_WEBHOOK_ID }}
DISCORD_WEBHOOK_TOKEN: ${{ secrets.DISCORD_WEBHOOK_TOKEN }}