-
Notifications
You must be signed in to change notification settings - Fork 0
125 lines (105 loc) · 3.01 KB
/
install-workflow.yml
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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
name: Build
on:
push:
branches:
- master
pull_request:
branches:
- master
jobs:
build:
name: Install ${{ matrix.params.env }}
# This job runs on Linux
runs-on: ubuntu-latest
container: ubuntu:18.04
strategy:
matrix:
params:
- env: default
user: n1amr
- env: dell
user: n1amr
- env: azure
user: n1amr
- env: toshiba
user: n1amr
- env: pi
user: pi
- env: ms
user: amralaa
steps:
- uses: actions/checkout@v1
with:
submodules: true
token: ${{ secrets.REPO_ACCESS_TOKEN }}
- name: '[Pre] Clone custom config repository'
shell: bash
run: |
set -xv
rm -rfv ./dotfiles/custom
- name: 'Clone custom config repository'
uses: actions/checkout@v1
with:
repository: n1amr/dotfiles.custom
ref: refs/heads/master
submodules: true
token: ${{ secrets.REPO_ACCESS_TOKEN }}
path: ./dotfiles/custom
- name: Install dependencies
shell: bash
run: |
set -xv
apt-get update
apt-get install -y git curl zsh bash
- name: Add user
shell: bash
run: |
set -xv
mkdir -pv /home
useradd -s /bin/zsh -d "/home/${{ matrix.params.user }}" -m -G sudo "${{ matrix.params.user }}"
- name: Install dotfiles
env:
USER: ${{ matrix.params.user }}
HOME: /home/${{ matrix.params.user }}
DOTFILES_CUSTOM_REPO_URL: 'https://github.com/n1amr/dotfiles.custom'
run: |
set -xv
sh -xvue ./install -f -e "${{ matrix.params.env }}"
- name: Reinstall dotfiles
env:
USER: ${{ matrix.params.user }}
HOME: /home/${{ matrix.params.user }}
run: |
set -xv
sh -xvue ./install -f
- name: Run on zsh
env:
USER: ${{ matrix.params.user }}
HOME: /home/${{ matrix.params.user }}
run: |
set -xv
zsh -xv -c 'source ~/.zshrc'
- name: Run on bash
env:
USER: ${{ matrix.params.user }}
HOME: /home/${{ matrix.params.user }}
run: |
set -xv
bash -xv -c 'source ~/.bashrc'
# - name: Set git credentials
# shell: bash
# env:
# GIT_ASKPASS: /askpass
# GIT_PASSWORD: ${{ secrets.REPO_ACCESS_TOKEN }}
# run: |
# echo -e "#!/bin/sh\n
# exec echo \"$GIT_PASSWORD\"" > "$GIT_ASKPASS"
# cat "$GIT_ASKPASS"
# chmod +x "$GIT_ASKPASS"
# # git config credential.helper '!f() { sleep 1; echo "username=${GITHUB_REPOSITORY_OWNER}"; echo "password=${GIT_PASSWORD}"; }; f'
# - name: Update dotfiles
# env:
# USER: ${{ matrix.params.user }}
# HOME: /home/${{ matrix.params.user }}
# run: |
# zsh -i -c 'dotfiles update'