# This is a basic workflow to help you get started with Actions name: Build CasaOS on: release: types: - created env: REPO_URL: https://github.com/IceWhaleTech/CasaOS.git REPO_BRANCH: main PACK_SH_URL: https://raw.githubusercontent.com/jerrykuku/actions-casa/main/pack.sh PACK_SH: pack.sh TZ: Asia/Shanghai jobs: xgo: strategy: fail-fast: false matrix: go_version: - 1.17.1 runs-on: ubuntu-latest steps: - name: Get release id: get_release uses: bruceadams/get-release@v1.2.3 env: GITHUB_TOKEN: ${{ github.token }} - name: Initialization environment env: DEBIAN_FRONTEND: noninteractive run: | sudo timedatectl set-timezone "$TZ" sudo mkdir -p /workdir sudo chown $USER:$GROUPS /workdir - name: Clone source code working-directory: /workdir run: | df -hT $PWD git clone $REPO_URL -b $REPO_BRANCH --recursive casa ln -sf /workdir/casa $GITHUB_WORKSPACE/casa ls - name: Use Node.js uses: actions/setup-node@v2 with: node-version: '14' - name: Build frontend with nodejs and yarn run: | cd casa/UI ls yarn install yarn build - name: Build with xgo uses: crazy-max/ghaction-xgo@v1 with: working_dir: /workdir/casa xgo_version: latest go_version: ${{ matrix.go_version }} dest: build prefix: casa targets: linux/amd64,linux/arm64 v: true x: false race: false ldflags: -s -w buildmode: default - name: List Files run: | ls cd casa/build ls echo "::set-output name=status::success" - name: Pack builds run: | cd /workdir wget $PACK_SH_URL chmod +x $PACK_SH /workdir/$PACK_SH echo "::set-output name=status::success" - name: Upload linux-amd64-casaos.tar.gz id: upload_assets_amd64 uses: shogo82148/actions-upload-release-asset@v1 with: upload_url: ${{ steps.get_release.outputs.upload_url }} asset_path: /workdir/casa/upload/linux-amd64-casaos.tar.gz - name: Upload linux-arm64-casaos.tar.gz id: upload_assets_arm64 uses: shogo82148/actions-upload-release-asset@v1 with: upload_url: ${{ steps.get_release.outputs.upload_url }} asset_path: /workdir/casa/upload/linux-arm64-casaos.tar.gz