# Haskell Foundation DevOps Weekly Log, 2022-08-17

**URL:** <https://discourse.haskell.org/t/haskell-foundation-devops-weekly-log-2022-08-17/4936>\
**Category:** Haskell Foundation\
**Created:** [August 17, 2022, 11:48am UTC](https://discourse.haskell.org/t/haskell-foundation-devops-weekly-log-2022-08-17/4936 "2022-08-17T11:48:20Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![chreekat](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/chreekat/32/2669_2.png) [@chreekat](https://discourse.haskell.org/u/chreekat)\
**Post date:** [August 17, 2022, 11:48am UTC](https://discourse.haskell.org/t/haskell-foundation-devops-weekly-log-2022-08-17/4936/1 "2022-08-17T11:48:20Z")

</div>

Weekly Log, weeks 13 and 14

_[This will be my last entry for six weeks. The next will come on September 30.]_

In the last week and a half, I continued to focus on spurious failures. To wrap things up before my break, I wrote a wiki page about the [spurious failure effort](https://gitlab.haskell.org/ghc/ghc/-/wikis/Tracking-Spurious-Failures) that explains my methodology. I also added one more failure type ([MoveFileEx](https://grafana.gitlab.haskell.org/d/167r9v6nk/ci-spurious-failures?orgId=2&from=now-90d&to=now&refresh=5m&var-types=MoveFileEx)).

Outside of spurious failures, I made a performance improvement to CI by removing a heavyweight dependency ([#21492](https://gitlab.haskell.org/ghc/ghc/-/issues/21492)), explored the fragile test monitoring infrastructure, and spent some time dealing with another bout of sore throat and congestion. (Covid? Who even knows anymore.)

It’s uncomfortably hot in _Finland_ of all places. Hope you are all staying cool!

See you in a month!

-Bryan

---

<div class="post-metadata">

**Author:** ![sjakobi](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/sjakobi/32/614_2.png) [@sjakobi](https://discourse.haskell.org/u/sjakobi)\
**Post date:** [August 17, 2022, 12:29pm UTC](https://discourse.haskell.org/t/haskell-foundation-devops-weekly-log-2022-08-17/4936/2 "2022-08-17T12:29:13Z")

</div>

Regarding the MoveFileEx failures: I’ve encountered similar issues on GitHub Actions. See e.g. [https://github.com/haskell/actions/issues/36](https://github.com/haskell/actions/issues/36) and [https://github.com/actions/runner-images/issues/712](https://github.com/actions/runner-images/issues/712).

---

<div class="post-metadata">

**Author:** ![chreekat](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/chreekat/32/2669_2.png) [@chreekat](https://discourse.haskell.org/u/chreekat)\
**Post date:** [August 17, 2022, 12:49pm UTC](https://discourse.haskell.org/t/haskell-foundation-devops-weekly-log-2022-08-17/4936/3 "2022-08-17T12:49:45Z")

</div>

The GHC team apparently fixed variations of this problem before.

- [https://gitlab.haskell.org/ghc/ghc/-/issues/?search=MoveFileEx&sort=created\_date&state=all](https://gitlab.haskell.org/ghc/ghc/-/issues/?search=MoveFileEx&sort=created_date&state=all)

On IRC, Phyx mentioned that “core of the issue is that MoveFileEx isn’t atomic, and it’s used in a context where it’s expected to be… MIcrosoft [https://docs.microsoft.com/en-us/windows/win32/fileio/deprecation-of-txf](https://docs.microsoft.com/en-us/windows/win32/fileio/deprecation-of-txf) recommends ReplaceFile instead.”

So, find the MoveFileEx’s and replace them. (But where are they hiding? I haven’t looked into it myself, yet.)  
`

---

<div class="post-metadata">

**Author:** ![sjakobi](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/sjakobi/32/614_2.png) [@sjakobi](https://discourse.haskell.org/u/sjakobi)\
**Post date:** [August 17, 2022, 1:15pm UTC](https://discourse.haskell.org/t/haskell-foundation-devops-weekly-log-2022-08-17/4936/4 "2022-08-17T13:15:29Z")

</div>

`MoveFileEx` is used in [`System.Directory.renameFile`](https://hackage.haskell.org/package/directory-1.3.7.1/docs/System-Directory.html#v:renameFile) which in turn is widely used in cabal: [Search · renameFile · GitHub](https://github.com/haskell/cabal/search?q=renameFile)

---

<div class="post-metadata">

**Author:** ![sjakobi](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/sjakobi/32/614_2.png) [@sjakobi](https://discourse.haskell.org/u/sjakobi)\
**Post date:** [August 17, 2022, 1:19pm UTC](https://discourse.haskell.org/t/haskell-foundation-devops-weekly-log-2022-08-17/4936/5 "2022-08-17T13:19:03Z")

</div>

Here is a related issue on the `directory` issue tracker: [https://github.com/haskell/directory/issues/132](https://github.com/haskell/directory/issues/132)
