Skip to content

Commit 5f15a7b

Browse files
New Strucure
1 parent 579d296 commit 5f15a7b

File tree

1 file changed

+62
-69
lines changed

1 file changed

+62
-69
lines changed

.github/workflows/bucket-upload.yaml

Lines changed: 62 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -21,86 +21,79 @@ jobs:
2121

2222
- name: Clone 2ms Repository and Checkout Commit SHA
2323
run: |
24-
# Clonar o repositório 2ms
25-
git clone https://github.com/checkmarx/2ms.git /tmp/2ms
26-
cd /tmp/2ms
27-
28-
git fetch --all
29-
git checkout ${{ github.sha }}
24+
# Clonar o repositório 2ms no diretório do workspace
25+
git clone https://github.com/checkmarx/2ms.git $GITHUB_WORKSPACE/2ms
26+
cd $GITHUB_WORKSPACE/2ms
27+
28+
# Buscar todos os commits e fazer checkout no commit correto
29+
git fetch --all
30+
git checkout ${{ github.sha }}
31+
32+
# Compilar o 2ms
33+
go build -o $GITHUB_WORKSPACE/2ms/dist/2ms main.go
34+
35+
# Verificar se o binário foi criado corretamente
36+
ls -la $GITHUB_WORKSPACE/2ms/dist/2ms
37+
38+
# Garantir permissões de execução
39+
chmod +x $GITHUB_WORKSPACE/2ms/dist/2ms
40+
41+
- name: Load Repos from JSON and Clone Each Repo
42+
run: |
43+
# Baixar o arquivo repos.json diretamente
44+
curl -o /tmp/repos.json https://raw.githubusercontent.com/cx-miguel-neiva/2ms-github-action/main/repos.json
3045
31-
# Compilar o 2ms
32-
go build -o dist/2ms main.go
46+
# Extrair os repositórios e criar uma string separada por vírgulas
47+
REPOS_LIST=$(jq -r '.projects[]' /tmp/repos.json)
3348
34-
# Verificar se o binário foi criado corretamente
35-
ls -la dist/2ms
49+
# Exibir o conteúdo de REPOS_LIST para depuração
50+
echo "Repos List: $REPOS_LIST"
3651
37-
# Garantir permissões de execução
38-
chmod +x dist/2ms
52+
# Salvar a lista de repositórios em uma variável de ambiente
53+
echo "repos=$REPOS_LIST" >> $GITHUB_ENV
3954
40-
- name: Load Repos from JSON and Clone Each Repo
41-
run: |
42-
# Baixar o arquivo repos.json diretamente
43-
curl -o /tmp/repos.json https://raw.githubusercontent.com/cx-miguel-neiva/2ms-github-action/main/repos.json
55+
# Iterar sobre cada repositório e cloná-los
56+
for repo_url in $REPOS_LIST; do
57+
repo_name=$(basename "$repo_url" .git)
58+
echo "Cloning repository: $repo_url"
4459
45-
# Extrair os repositórios e iterar sobre eles
46-
REPOS_LIST=$(jq -r '.projects[]' /tmp/repos.json)
60+
# Criar uma pasta para o repositório
61+
mkdir -p "$GITHUB_WORKSPACE/$repo_name"
4762
48-
# Exibir o conteúdo de REPOS_LIST para depuração
49-
echo "Repos List: $REPOS_LIST"
63+
# Clonar o repositório na pasta criada
64+
git clone "$repo_url" "$GITHUB_WORKSPACE/$repo_name"
5065
51-
# Iterar sobre cada repositório na lista
52-
for repo_url in $REPOS_LIST; do
53-
repo_name=$(basename "$repo_url" .git)
54-
echo "Cloning repository: $repo_url"
55-
56-
# Criar uma pasta para o repositório
57-
mkdir -p "$GITHUB_WORKSPACE/$repo_name"
58-
59-
# Clonar o repositório na pasta criada
60-
git clone "$repo_url" "$GITHUB_WORKSPACE/$repo_name"
61-
62-
# Verificar se o repositório foi clonado corretamente
63-
ls -la "$GITHUB_WORKSPACE/$repo_name"
64-
done
65-
66+
# Verificar se o repositório foi clonado corretamente
67+
ls -la "$GITHUB_WORKSPACE/$repo_name"
68+
done
69+
6670
- name: Run 2ms Scan for each repo
6771
run: |
68-
mkdir -p $GITHUB_WORKSPACE/results
69-
70-
# Obter a lista de repositórios do GITHUB_ENV
71-
IFS=',' read -r -a REPOS_ARRAY <<< "$REPOS_LIST"
72-
73-
# Verificar se o binário 2ms existe no diretório correto
74-
if [ ! -f /tmp/2ms/dist/2ms ]; then
75-
echo "2ms binary not found!"
76-
exit 1
77-
fi
78-
79-
# Iterar sobre cada repositório
80-
for repo_url in "${REPOS_ARRAY[@]}"; do
81-
repo_name=$(basename "$repo_url" .git)
82-
echo "Cloning repository: $repo_url"
83-
84-
# Criar pasta para o repositório e clonar o repositório
85-
git clone "$repo_url" "$GITHUB_WORKSPACE/$repo_name"
86-
87-
# Verificar se o repositório foi clonado corretamente
88-
ls -la "$GITHUB_WORKSPACE/$repo_name"
89-
90-
# Verificar se o binário 2ms existe no diretório onde foi compilado
91-
ls -la /tmp/2ms/dist/
92-
93-
echo "Running 2ms scan on $repo_name"
72+
mkdir -p $GITHUB_WORKSPACE/results
73+
74+
# Obter a lista de repositórios do GITHUB_ENV
75+
IFS=' ' read -r -a REPOS_ARRAY <<< "$repos"
9476
95-
# Executar o scan 2ms no repositório clonado, passando o path correto
96-
/tmp/2ms/dist/2ms filesystem --path "$GITHUB_WORKSPACE/$repo_name" --ignore-on-exit results --report-path "$GITHUB_WORKSPACE/results/$repo_name.sarif"
77+
# Verificar se o binário 2ms existe no diretório correto
78+
if [ ! -f /tmp/2ms/dist/2ms ]; then
79+
echo "2ms binary not found!"
80+
exit 1
81+
fi
9782
98-
# Verificar se o comando 2ms foi executado corretamente
99-
if [ $? -ne 0 ]; then
100-
echo "2ms scan failed for $repo_name, continuing with the next repo."
101-
continue
102-
fi
103-
done
83+
# Iterar sobre cada repositório
84+
for repo_url in "${REPOS_ARRAY[@]}"; do
85+
repo_name=$(basename "$repo_url" .git)
86+
echo "Running 2ms scan on $repo_name"
87+
88+
# Executar o scan 2ms no repositório clonado, passando o path correto
89+
$GITHUB_WORKSPACE/2ms/dist/2ms filesystem --path "$GITHUB_WORKSPACE/$repo_name" --ignore-on-exit results --report-path "$GITHUB_WORKSPACE/results/$repo_name.sarif"
90+
91+
# Verificar se o comando 2ms foi executado corretamente
92+
if [ $? -ne 0 ]; then
93+
echo "2ms scan failed for $repo_name, continuing with the next repo."
94+
continue
95+
fi
96+
done
10497
10598
- name: Get Results Directory
10699
id: get_results_dir

0 commit comments

Comments
 (0)