小编the*_*mes的帖子

GitHub 复合操作:找不到“action.yml”

我正在尝试在我的存储库上创建一个复合操作,如下所示:

\n
.github\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 actions\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 setup-composite.yml\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 workflows\n    \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 composite_test.yml\n
Run Code Online (Sandbox Code Playgroud)\n

文件的内容是最低限度的

\n
# setup-composite.yml\n\nname: setup-env\n\nruns:\n  using: \'composite\'\n  steps:\n    - uses: actions/setup-python@v4\n      with:\n        python-version: \'3.9\'\n\n    - name: run dependencies\n      shell: bash\n      run: |\n        pip install -r requirements.txt\n\n
Run Code Online (Sandbox Code Playgroud)\n

然后我尝试使用引用复合工作流程

\n
# composite_test.yml\n\nname: Composite Test\non:\n  pull_request:\n  push:\n    branches: [main]\n  workflow_dispatch:\n\njobs:\n  setup:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v3\n\n      - name: composite\n        uses: ./.github/actions/setup-composite\n
Run Code Online (Sandbox Code Playgroud)\n

requirements.txt 的内容只是几个用于测试目的的包。

\n

但是当这个工作流程运行时我得到Error: Can\'t find \'action.yml\', \'action.yaml\' or \'Dockerfile\' under \'/home/runner/work/_actions/{profile}/{repo}/main/.github/actions/setup-composite\'. Did you forget to run actions/checkout …

github-actions

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

从 Chrome 扩展程序发送 POST 请求

我正在编写一个 Chrome 扩展弹出窗口来登录我的服务器。扩展有一个基本形式usernamepassword以及submit按钮。

<form>
  <div class="form-group">
    <label for="exampleInputEmail1">Email address</label>
    <input type="email" class="form-control" id="exampleInputEmail1" aria-describedby="emailHelp"
           placeholder="Enter email">
  </div>
  <div class="form-group">
    <label for="exampleInputPassword1">Password</label>
    <input type="password" class="form-control" id="exampleInputPassword1" placeholder="Password">
  </div>
  <button type="submit" class="btn btn-primary btn-sm" id="loginButton">Log In</button>
</form>
Run Code Online (Sandbox Code Playgroud)

我使用 Insomnia REST 客户端测试了我的服务器的响应,如下所示:

URL:https://myserver.com/login
标题:Content-Type: application/x-www-form-urlencoded
表单 URL 编码:email: email@domain.com & password: password

在我的 Chrome 扩展程序中,我编写了一个signin.js脚本来处理按钮单击事件并将请求发送到我的服务器。

// hardcoded for simplicity of this example
const email = email@domain.com
const pwd = password

var button …
Run Code Online (Sandbox Code Playgroud)

javascript ajax google-chrome-extension

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

Git - 使受保护的功能分支与主分支保持同步

我的团队使用功能分支,这些分支在某个时候从主分支中分支出来

# make sure the local version of master is up to date
git checkout master
git fetch origin 
git reset --hard origin/master

# create a new branch
git checkout -b feature/name
Run Code Online (Sandbox Code Playgroud)

当我们开发新功能时,这些功能分支可以存在几个月,但是当我们解决错误或合并其他功能分支时,master 也会在这段时间内发生变化。

我们主要遵循feature-branch-workflow中描述的流程。Github 也有关于-protected-branches 的良好文档。

现在的问题是团队决定保护功能分支(包括管理员),在同步时给我们留下了一些master选择feature/name

  1. 暂时删除分支保护规则,以便我们可以feature/name更新master

    优点:更简单的选择(通常只需使用 Github UI 来同步分支)。善于解决小矛盾—— git checkout feature/namegit merge master; 解决冲突、承诺并git push

    缺点:有人推送到不受保护的分支的风险(即使是暂时的);合并冲突错误和未经同行评审的代码

  2. 创建一个 PR 到功能分支,其中包含 master 的更改

    优点:所有代码都会经过审查

    缺点:耗时;PR 通常会变得很大

  3. 两者的混合取决于要解决的冲突

    优点:对于小冲突(例如变更日志中的冲突)使用方法 1,对于较大冲突使用方法 2

    缺点:小冲突或大冲突的灰色地带。与选项 1 相同的缺点 …

git version-control github

6
推荐指数
1
解决办法
1425
查看次数

TestCafe从元素获取文本

我正在尝试从Chrome上的模式获取文本。使用控制台,我可以获取内部文本,如下所示:

document.querySelector('.my-form > a').innerText
// returns http://a-url.com
Run Code Online (Sandbox Code Playgroud)

现在,在测试中,我可以使用

const myText = Selector('.my-form > a').innerText;
await t
  .expect(myText).contains('url');
Run Code Online (Sandbox Code Playgroud)

我什至可以点击该网址

await t.click(myText);
Run Code Online (Sandbox Code Playgroud)

但是例如,我不能将内部文本放入变量中。我尝试从这篇文章中使用ClientFunction

const getUrl = ClientFunction(() => document.querySelector('.my-form > a').innerText);

test('My Test', async t => {
const text = await getUrl();
console.log(text);
});

// this results in 
// TypeError: Cannot read property 'innerText' of null
Run Code Online (Sandbox Code Playgroud)

并尝试使用普通选择器,如本文所建议

const text = Selector('.my-form > a').innerText;
const inner = await text.textContent;
console.log(inner);

// prints: undefined
Run Code Online (Sandbox Code Playgroud)

如何从元素中提取文本?我了解t.selectText在这种情况下会受到限制,对吧?

javascript automated-tests web-testing e2e-testing testcafe

4
推荐指数
1
解决办法
1760
查看次数