feat(ci): CircleCI migration to Github Actions (#2516)
* Deprecated trigger-desktop-nightly repo from gitlab * Migrated Nightly builds URLs from CircleCI to S3 * Full CI/CD is handled by Github Actions --------- Co-authored-by: Tasos Boulis <tboulis@hotmail.com> Co-authored-by: Mattermost Build <build@mattermost.com>
This commit is contained in:

committed by
GitHub

parent
8efa3480e4
commit
b62b25fdda
11
.github/actions/patch-nightly-version/action.yaml
vendored
Normal file
11
.github/actions/patch-nightly-version/action.yaml
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
# Copyright 2022 Mattermost, Inc.
|
||||
name: "patch-version"
|
||||
description: This action is used to patch package.json version with the nightly build
|
||||
|
||||
runs:
|
||||
using: "composite"
|
||||
steps:
|
||||
- name: ci/generate-version
|
||||
id: generate-version
|
||||
shell: bash
|
||||
run: go run ${{ github.action_path }}/patch-version.go .
|
42
.github/actions/patch-nightly-version/patch-version.go
vendored
Normal file
42
.github/actions/patch-nightly-version/patch-version.go
vendored
Normal file
@@ -0,0 +1,42 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"log"
|
||||
"os"
|
||||
"strings"
|
||||
"time"
|
||||
)
|
||||
|
||||
func main() {
|
||||
args := os.Args[1:]
|
||||
|
||||
packageFileName := fmt.Sprintf("%s/package.json", args[0])
|
||||
packageJson, err := os.Open(packageFileName)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
packageBytes, err := ioutil.ReadAll(packageJson)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
var packageInfo map[string]interface{}
|
||||
json.Unmarshal(packageBytes, &packageInfo)
|
||||
|
||||
originalVersion := fmt.Sprintf("%s", packageInfo["version"])
|
||||
nightlyVersion := fmt.Sprintf("%s-nightly.%s", strings.Split(originalVersion, "-")[0], time.Now().Format("20060102"))
|
||||
packageInfo["version"] = nightlyVersion
|
||||
|
||||
newPackageJson := strings.Replace(string(packageBytes), originalVersion, nightlyVersion, 1)
|
||||
err = ioutil.WriteFile(packageFileName, []byte(newPackageJson), 0644)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
packageJson.Close()
|
||||
fmt.Println("Update package.json with version:", nightlyVersion)
|
||||
}
|
27
.github/actions/test/action.yaml
vendored
Normal file
27
.github/actions/test/action.yaml
vendored
Normal file
@@ -0,0 +1,27 @@
|
||||
# Copyright 2022 Mattermost, Inc.
|
||||
name: "test-ci"
|
||||
description: This action used to run universal tests for all OS
|
||||
|
||||
inputs:
|
||||
shell:
|
||||
description: The shell to run the test
|
||||
required: true
|
||||
default: bash
|
||||
|
||||
runs:
|
||||
using: "composite"
|
||||
steps:
|
||||
- name: ci/run-check-types
|
||||
run: npm run check-types
|
||||
shell: ${{ inputs.shell }}
|
||||
- name: ci/run-i18n-check
|
||||
shell: ${{ inputs.shell }}
|
||||
run: |
|
||||
npm run mmjstool -- i18n extract-desktop --desktop-dir .
|
||||
git --no-pager diff --exit-code i18n/en.json
|
||||
- name: ci/run-unit-ci
|
||||
shell: ${{ inputs.shell }}
|
||||
env:
|
||||
ELECTRON_DISABLE_SANDBOX: "1"
|
||||
run: |
|
||||
npm run test:unit-ci
|
Reference in New Issue
Block a user