iTranslated by AI

The content below is an AI-generated translation. This is an experimental feature, and may contain errors. View original article
🇺🇦

Productivity Weekly (2022-03-02)

に公開

Hello. I'm Hirakiba from the Productivity Improvement Team at Cybozu, Inc.

Our Productivity Improvement Team holds a weekly internal meeting called "Productivity Weekly" every Wednesday, where we share news and topics discovered during the week related to improving developer productivity.
This article is a compilation of the topics from that session.

This is the 64th issue. Past articles can be found here.

news 📺

View network transfer information in Resources tab - CircleCI Updates

https://circleci.com/changelog/#view-network-transfer-information-in-resources-tab

https://discuss.circleci.com/t/helping-customers-predict-the-cost-of-enabling-the-ip-ranges-feature-an-update-to-the-resources-tab/43068

You can now check network transfer volume for jobs using CircleCI's Docker executor. You can see the total of both In/Out from the RESOURCES tab on the Job details screen.


Like this

The second link above (Discuss) mentions that this can be used for cost calculation and optimization when using the feature to fix IP ranges (IP ranges) added last year.

Also, CircleCI is scheduled to start charging for storage and network from 2022/03/01. It's good that we can now check this for each job to keep network transfer volume in check.


From https://circleci.com/docs/ja/2.0/faq/#how-do-I-calculate-my-monthly-storage-and-network-costs

Estimated runtime now available for ongoing builds - CircleCI Updates

https://circleci.com/changelog/#estimated-runtime-now-available-for-ongoing-builds

CircleCI now shows the estimated remaining time for running pipelines. The estimated remaining time is displayed under the pipeline status. They say the estimated time is based on previous pipeline runs. Knowing roughly when a pipeline will finish is a subtle but welcome change.


Like this. It predicts 1 hour and 13 minutes remaining.

Dedicated hosts for macOS - CircleCI Updates

https://circleci.com/changelog/#dedicated-hosts-for-macos

Dedicated hosts for macOS are now available on CircleCI.

As it is a dedicated host, you can have exclusive use of one physical macOS machine (existing macOS Executors run on virtual machines). Mentioned benefits of using dedicated hosts include improved security and access to the GPU, among others[1]. However, it consumes 100 credits per hour and must be leased for a minimum of 24 hours.

Since it can be used more powerfully than the previous macOS Executor, it might be a welcome option for developers of apps for Apple products.

know-how 🎓

Implementing E2E testing for Chrome extensions with Cypress + Serve

https://zenn.dev/ryo_kawamata/articles/cypress-extension-testing

This article explains one method for E2E testing of Chrome extensions. It performs E2E testing by combining the Cypress test framework with serve, which serves static files.

In this article, you can find testing methods for a sample extension's popup, CI workflows, and links to code actually used in OSS. It also provides setup methods, test code, and CI workflow YAML, making it possible to try it out immediately.

I tried it myself following the article, and it was very easy to set up (*). Since I had no prior knowledge of how to test extension popups, it was extremely helpful. I recommend it to anyone who, like me, isn't sure how to go about E2E testing for Chrome extensions.

(*) Although I said it was easy, I struggled with the initial setup, possibly because I was using an M1 Mac.

Story of my struggle with the setup

Running pnpm i failed because esbuild-darwin-64 couldn't be downloaded.

❯ pnpm i 
Lockfile is up-to-date, resolution step is skipped
Packages: +762
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Packages are copied from the content-addressable store to the virtual store.
  Content-addressable store is at: /Users/korosuke613/.pnpm-store/v3
  Virtual store is at:             node_modules/.pnpm
 WARN  GET https://registry.npmjs.org/esbuild-darwin-64/download/esbuild-darwin-64-0.13.3.tgz error (ERR_PNPM_FETCH_404). Will retry in 10 seconds. 2 retries left.
 WARN  GET https://registry.npmjs.org/esbuild-darwin-64/download/esbuild-darwin-64-0.13.3.tgz error (ERR_PNPM_FETCH_404). Will retry in 1 minute. 1 retries left.
Progress: resolved 762, reused 759, downloaded 0, added 761, done
 ENOENT  ENOENT: no such file or directory, open '/Users/korosuke613/ghq/github.com/korosuke613/e2e-sample-webext/node_modules/.pnpm/esbuild-darwin-64@0.13.3/node_modules/esbuild-darwin-64/package.json'
node_modules/.pnpm/dtrace-provider@0.8.8/node_modules/dtrace-provider: Running install script...

Related Issues:

I tried preparing Node.js for x86_64, but it didn't work. However, I managed to get it working with the following steps:
(I'm not exactly sure why this worked)

  1. pnpm install --lockfile-only
  2. pnpm i

After that, everything proceeded according to the instructions.

Techniques for handling a large volume of Renovate Pull Requests - StudySapuri Product Team Blog

https://blog.studysapuri.jp/entry/2022/02/18/080000

This article summarizes operational know-how for Renovate in a huge Terraform monorepo. While it uses a large Terraform monorepo as a theme, it also contains techniques that can be used generally.

The article explains the background of needing to process a large number of pull requests in a short time, the solutions, and the results. The ten configuration items mentioned as solutions are helpful, each including reasons for the setting and points to note.

I thought this would be very helpful for those using Renovate in monorepos (especially for Terraform). Updating dependencies is hard, but we can't just not do it, so I want to keep reducing the burden on humans.

Improving maintainability of CircleCI configuration files by splitting CI/CD repositories - Serverworks Engineer Blog

https://blog.serverworks.co.jp/2022/02/25/142741

This is a story about improving maintainability by splitting a huge .circleci/config.yml into CI and CD, and further splitting each configuration file using Dynamic Configuration.

The article covers the challenges, the policy for measures, and the details of the measures. Those troubled by a huge config.yml might find it useful.

Keyless Signing of Container Images with Sigstore - Flatt Security Blog

https://blog.flatt.tech/entry/sigstore_keyless_signing

This article explains how to sign Docker images on GitHub Actions by leveraging Sigstore and OpenID Connect, which was a topic of discussion the other day.

The article includes an explanation of Sigstore, signing methods using local keys, and signing methods using OIDC (Keyless Signing). In particular, the section on signing with OIDC and GitHub Actions includes workflow examples, so you can start signing Docker images immediately. Image providers might want to take this opportunity to start signing. It should be a helpful reference along with the previously introduced article.

tool 🔨

https://qiita.com/tak001/items/cfbaa9dcb542929ff235

This is an introductory article about a serverless DB service called PlanetScale. The main differences from common managed DB services seem to be that it features a horizontal scaling system, branching functions, and automatic backup functions. The article includes a service overview, pricing (including the free tier), registration methods, and a Quick Start repository.

I thought the branching feature, which allows for easy verification of schema changes, is an interesting feature. I'm also intrigued by the free tier, which seems more than sufficient for personal use. I want to play around with it and try various things.

koneta 🍘

This is a section for topics that came up in Productivity Weekly that I'd like to introduce but don't have the energy for, or topics where there wasn't much to say besides a brief mention.

Afterword

Sorry for the delay. I somehow managed to keep it within a one-week delay. This week's issue had so many topics that there were many small topics (koneta). I started playing Elden Ring, but since I've never played the Souls series, I'm struggling without knowing my left from my right.

The Productivity Improvement Team at Cybozu is working to improve the development productivity of internal engineers. If you are interested in the Productivity Improvement Team, click the link below!
https://note.com/cybozu_dev/n/n1c1b44bf72f6

Usually, I would end here, but I have two promotions, so please take a look at those below.

Promotion: We will host a session to talk freely about the contents of Productivity Weekly.

https://cybozu.connpass.com/event/241131/

We will be holding the first "Cybozu Productivity News," where the Productivity Improvement Team will talk freely about the topics that appeared in Productivity Weekly! 🎉

We will premiere the pre-recorded and edited video on YouTube. We will make it available for viewing even after the broadcast, so those who can't make it at this time can watch it whenever they want. If we get questions with the Twitter hashtag (#cybozu_productivity_news) during the broadcast, we plan to answer them in real-time.

Since it's the first time, I have no idea how it will go 😇
Please check it out if you're interested.

Promotion: The Productivity Improvement Team is holding a summer internship again this year

https://twitter.com/Shitimi_613/status/1501360726966878212

The Productivity Improvement Team will be holding a summer internship again this year, so if you're interested, please apply! (Applications are scheduled to start on 4/25)

Last year's interns also wrote blog posts about their experience, so please check those out too if you're curious.

https://note.com/hysrtr/n/nd13916204c6c

omake 🃏

This week's bonus.

Readdle, the developer of Spark, is a Ukrainian company

https://twitter.com/Shitimi_613/status/1500334384448421890

I have been a long-time user of apps like the PDF Expert PDF viewer and the Spark email client. I received an email from Readdle, the company that develops them, requesting donations to support Ukraine.

I was surprised because I didn't know Readdle was a Ukrainian company. The "donations" mentioned in the email aren't for Readdle but for Ukraine, but because I'm grateful for their apps and want them to continue developing great software, I also donated to Ukraine.

Personally, I had been vaguely thinking about supporting Ukraine, but I hadn't taken any action yet. When I read this email, I felt a sense of urgency to help and donated immediately.

In conclusion, both PDF Expert and Spark are excellent apps, so if you haven't heard of them, I highly recommend giving them a try.

脚注
  1. Actually, I didn't realize the GPU wasn't available until now. ↩︎

GitHubで編集を提案

Discussion