标签: github-actions

如何在 Github Actions macos 运行程序中签署和公证 PKG

语境

我正在构建一个 Github Actions 作业来构建、签名和公证PKG 文件。

我正在使用Apple ID 帐户(工作流程需要用户名和密码)以及带有私钥(加密)的开发人员 ID 安装程序证书。两者都保存为机密 (base64),并将在工作流程中转换为 .p12 文件,然后添加到钥匙串。

此作业是私有存储库中更大工作流程的一部分,该工作流程首先从软件生成文件(使用Pyinstaller),然后将 PKG 导出到 AWS S3 存储桶上。

实施情况

jobs:
  [...]

  pkg:
    needs: [...]
    runs-on: macos-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v2

      - name: Download macos bin file
        uses: actions/download-artifact@v2
        with:
          name: macos-bin-files
          path: dist/
      - name:
        run: | 
          ----- Create certificate files from secrets base64 -----
          echo ${{ secrets.DEVELOPER_ID_INSTALLER_CER }} | base64 --decode > certificate_installer.cer
          echo ${{ secrets.DEVELOPER_ID_INSTALLER_KEY }} …
Run Code Online (Sandbox Code Playgroud)

macos sign certificate notarize github-actions

5
推荐指数
1
解决办法
1826
查看次数

自动发布 JavaDoc:使用 GitHub Actions

介绍

我目前正在 GitHub 上开发 Java Maven 项目,并且正在构建 JavaDoc 并将其发布到 GitHub 页面。

问题

我想知道是否可以使用 GitHub Actions 来自动执行此操作,如果可以的话如何实现?

java javadoc maven github-pages github-actions

5
推荐指数
1
解决办法
1630
查看次数

webpack 5 错误“无法解析‘uglify-js’、‘@swc/core’、‘esbuild’

我在 webpack 5、express、github 操作中遇到一些错误。我使用 github 操作是因为想使用 github 秘密。另外,我使用 webpack 因为使用了代码中的秘密。

无论如何,我在下面遇到了错误,

ERROR in ./node_modules/terser-webpack-plugin/dist/utils.js 479:6-26
Module not found: Error: Can't resolve 'uglify-js' in '/Users/luna/workspace/express_api/node_modules/terser-webpack-plugin/dist'
@ ./node_modules/terser-webpack-plugin/dist/index.js 27:4-22
@ ./webpack.config.js 2:21-53
@ ./app.js 13:15-45

ERROR in ./node_modules/terser-webpack-plugin/dist/utils.js 557:14-34
Module not found: Error: Can't resolve '@swc/core' in '/Users/luna/workspace/express_api/node_modules/terser-webpack-plugin/dist'
@ ./node_modules/terser-webpack-plugin/dist/index.js 27:4-22
@ ./webpack.config.js 2:21-53
@ ./app.js 13:15-45

ERROR in ./node_modules/terser-webpack-plugin/dist/utils.js 635:18-36
Module not found: Error: Can't resolve 'esbuild' in '/Users/luna/workspace/express_api/node_modules/terser-webpack-plugin/dist'
@ ./node_modules/terser-webpack-plugin/dist/index.js 27:4-22
@ ./webpack.config.js 2:21-53
@ ./app.js 13:15-45
Run Code Online (Sandbox Code Playgroud)

此外,还收到了 15 条警告。如果您想要警告,请告诉我。 …

node.js express webpack github-actions webpack-5

5
推荐指数
1
解决办法
4633
查看次数

如何像 GitHub Actions 一样在 CI 中非交互式登录 ArgoCD CLI?

我们使用 AWS EKS 进行了完整的设置,并安装了 Tekton,并希望使用 ArgoCD 进行应用程序部署。

正如文档所述,我们在 GitHub Actions 中的 EKS 上安装了 ArgoCD:

  - name: Install ArgoCD
    run: |
      echo "--- Create argo namespace and install it"
      kubectl create namespace argocd --dry-run=client -o yaml | kubectl apply -f -
      kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
Run Code Online (Sandbox Code Playgroud)

正如文档告诉我们的那样,我们还公开了 ArgoCD 服务器(包括仪表板):

  - name: Expose ArgoCD Dashboard
    run: |
      echo "--- Expose ArgoCD Dashboard via K8s Service"
      kubectl patch svc argocd-server -n argocd -p '{"spec": {"type": "LoadBalancer"}}'

      echo "--- …
Run Code Online (Sandbox Code Playgroud)

continuous-deployment kubernetes amazon-eks github-actions argocd

5
推荐指数
1
解决办法
2万
查看次数

在 GitHub Actions 中使用 GitHub CLI 访问另一个存储库

我正在尝试使用 gh cli 访问另一个 github 存储库作为工作流程的一部分。我正在使用gh release view如下命令

run: |
    echo "::set-output name=description::$(gh release view --repo <owner/repo>)"
  env:
    GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Run Code Online (Sandbox Code Playgroud)

工作流程失败并出现 404,我知道这是因为存储库是私有的,即使两个存储库具有相同的所有者。当在本地进行身份验证时,该命令可以正常工作。

有什么方法可以在工作流程中访问该存储库吗?

github github-actions github-cli

5
推荐指数
1
解决办法
1万
查看次数

在 Github Action 中如何引用私有包进行测试?

我已经为 Github Action 编写了一个测试文件:

测试.yml

name: Test
on:
  push:
    branches: [main]
  pull_request:
    branches: [main]
jobs:
  build:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        node-version: [14.x, 16.x]
    steps:
      - uses: actions/checkout@v2
      - name: Use Node.js ${{ matrix.node-version }}
        uses: actions/setup-node@v2
        with:
          node-version: ${{ matrix.node-version }}
      - run: npm ci
      - run: npm run build --if-present
      - run: npm test
Run Code Online (Sandbox Code Playgroud)

但我的package.json使用组织私有存储库。当 Github Action 运行时,它失败并出现错误:

npm ERR! code E404
npm ERR! 404 Not Found - GET https://registry.npmjs.org/@org/repo/
npm ERR! 404 
npm ERR! 404  '@org/repo@1.2.3' …
Run Code Online (Sandbox Code Playgroud)

testing yaml unit-testing node.js github-actions

5
推荐指数
1
解决办法
2703
查看次数

构建工件 zip 文件的动态命名

在我的存储库中,我有 yml 文件,其代码如下 /.github/workflows/filename.yml

 -  name: Create Artifact
     uses: actions/upload-artifiact@v2
     with:
       name: Report.22.9.zip
       path: |
         project
         !project/Reports/*
         !project/Logs/*
         !project/Snapshots/*
Run Code Online (Sandbox Code Playgroud)

现在,我正在尝试使“名称:Report.22.9.zip”更加动态。像这样的东西

<repo_name>.<branch_name>.<git_build_id>.zip
Run Code Online (Sandbox Code Playgroud)

github git-workflow github-actions

5
推荐指数
1
解决办法
1605
查看次数

如何从 GitHub Actions 中的 Android Gradle 文件获取版本名称?

我必须使用 GitHub 操作提供的创建发布操作来创建发布。build.gradle 文件中的默认配置参数如下;

defaultConfig {
    applicationId "com.example.myapp"
    minSdk 21
    targetSdk 31
    versionCode 1
    versionName "1.0"

    testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
Run Code Online (Sandbox Code Playgroud)

以及 GitHub Actions yml 文件中的操作,如下所示;

- name: Create Release
    id: create_release
    uses: actions/create-release@v1
    env:
      GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
    with:
      tag_name: <I need gradle version name here! It is 1.0>
      release_name: Release <I need gradle version name here! It is 1.0>
      body: |
        Release body
      draft: false
      prerelease: false
Run Code Online (Sandbox Code Playgroud)

如何获取 GitHub Actions yml 文件中的 gradle versionName 以创建 GitHub 版本?

android github github-actions

5
推荐指数
1
解决办法
4228
查看次数

Git diff 无法在 Github Actions 上工作 -fatal: bad object 7100c3bbc34a9667ca9034a8ec321677ed4b5828

我想查看 Github Actions 上两次提交之间的文件之间的差异。这是我的main.yml文件:

name: GitHub Actions Test
on: [push]
jobs:
  Test-GitHub-Actions:
    runs-on: ubuntu-latest
    steps:
      - name: Adding actions/checkout@v2
        uses: actions/checkout@v2
      - name: Git diff
        run: git diff 7100c3bbc34a9667ca9034a8ec321677ed4b5828 4c5952b60b8a5911154534ea1fefec3567c49c52 ${{ github.workspace }}/data.xml
      - name: Run Python
        run: |
          python3 ${{ github.workspace }}/.github/workflows/app.py
      - name: Setup git - step 1
        run: git config --global user.email "adithraghavs@gmail.com"
      - name: Setup git - step 2
        run: git config --global user.name "Adith Raghav"
      - name: Check for changes
        run: git status …
Run Code Online (Sandbox Code Playgroud)

git github git-diff github-actions

5
推荐指数
1
解决办法
2817
查看次数

如何通过仅从主分支创建标签来触发 github 操作工作流程?

现在,如果我们使用任何分支创建标签,我们的操作工作流程就会开始运行。仅当我们从主分支创建标签时,我们才希望触发操作工作流程。我当前的 YAML 文件如下所示。让我们知道这里需要更改什么

on:
  push:    
    tags:        
      - '*'
Run Code Online (Sandbox Code Playgroud)

continuous-integration github-actions

5
推荐指数
0
解决办法
3638
查看次数